--------------------------------------------------------------------------------
drkns 2023-07-27 19:40:17+01:00 - build 6175

1. Try to survive a conhost crash caused by a spawned process.

--------------------------------------------------------------------------------
drkns 2023-07-21 22:56:56+01:00 - build 6174

1. Preserve user-defined cursor shape if possible.

--------------------------------------------------------------------------------
drkns 2023-07-15 10:39:13+01:00 - build 6173

1. Fix a crash in prompt format parser.

2. Propagate taskbar state to the terminal.

3. Refactoring.

--------------------------------------------------------------------------------
zg 2023-07-12 22:29:50+03:00 - build 6172

1. far didn't ask to save unsaved data in editor then menu was active and the console window is closed with "X".

--------------------------------------------------------------------------------
drkns 2023-06-28 22:58:23+01:00 - build 6171

1. Continue 6170 & other highly experimental improvements in mouse processing.

--------------------------------------------------------------------------------
drkns 2023-06-27 21:47:13+01:00 - build 6170

1. Improve mouse buttons to fake macro keys translation.

--------------------------------------------------------------------------------
drkns 2023-06-27 19:58:03+01:00 - build 6169

1. Using a foreign format exclusively for the clipboard text size was probably not a good idea.
   E.g. now copying text between 6167 and 6168 is broken. Oops.

   To avoid repeating the same mistake in the future, we now have our own format ("FAR_Text_Length")
   and resort to "Notepad++ binary text length" only when our own format is not available.

2. With some magic copying text from pre-6168 should now work.
   Unfortunately, time travel is not yet discovered, so copying text into pre-6168 remains broken.

--------------------------------------------------------------------------------
zg 2023-06-26 20:55:27+03:00 - build 6168

1. correction of 4496. notepad++ expects data size in bytes including final '\0'.

--------------------------------------------------------------------------------
MZK 2023-06-20 19:53:29-07:00 - build 6167

1. More ways to scroll VMenu lists horizontally.
   - Ctrl+Alt+Arrows scroll all items by 20 characters at a time.
   - Ctrl+Shift+Arrows scroll the selected item by 20 characters at a time.
   - Alt+Shift+Home aligns the selected item to the left.
   - Alt+Shift+End aligns the selected item to the right.

--------------------------------------------------------------------------------
drkns 2023-06-20 20:01:57+01:00 - build 6166

1. Configurable cursor size in screen grabber.

--------------------------------------------------------------------------------
johnd0e 2023-06-17 14:55:00+01:00 - build 6165

1. Allow to break directory scan started from a macro (Mantis#0002692).
   Fix by Shmuel: https://github.com/shmuz/far2m/issues/36

--------------------------------------------------------------------------------
drkns 2023-06-14 20:01:09+01:00 - build 6164

1. Subscribe to power events only when needed.

2. Support more reparse tags.

3. Static analysis warnings.

4. Refactoring.

--------------------------------------------------------------------------------
drkns 2023-06-10 10:50:50+01:00 - build 6163

1. gh-704: Multiple log files created and console logs empty in sync mode.

--------------------------------------------------------------------------------
drkns 2023-06-09 19:49:34+01:00 - build 6162

1. Address gh-702 comments:
   - System.MsWheelThreshold option to adjust wheel sensitivity.
   - Discard accumulated events on scrolling direction change.

--------------------------------------------------------------------------------
drkns 2023-06-08 20:25:38+01:00 - build 6161

1. Continue 6159: finer-resolution wheels/pads should now work more or less as expected.

--------------------------------------------------------------------------------
drkns 2023-06-08 08:21:33+01:00 - build 6160

1. gh-702: Trackpad scrolling issue in build 6159.

--------------------------------------------------------------------------------
drkns 2023-06-07 22:32:00+01:00 - build 6159

1. Improve mouse wheel handling:
   - Take into account that one mouse event can describe more than one wheel detent.
   - Use OS wheel settings when System.Ms[H]WheelDelta* parameters are set to 0.

--------------------------------------------------------------------------------
drkns 2023-06-02 20:53:21+01:00 - build 6158

1. NumLeft & NumRight don't work as intended with radiobuttons.
   An ancient bug, planted 21 years ago.

--------------------------------------------------------------------------------
w17 2023-05-31 12:18:13+03:00 - build 6157

1. Continue 6155, 6153, 6152
   Correction for Temporary panel (OPIF_REALNAMES)

--------------------------------------------------------------------------------
MZK 2023-05-29 11:49:01-07:00 - build 6156

1. gh-697: Fixed disappearing autocomplete list in Search / Replace dialog.
   The bug was introduced in 6144.

--------------------------------------------------------------------------------
w17 2023-05-29 13:25:38+03:00 - build 6155

1. Continue 6153, OPIF_DEL.. on close can be used without RECURSIVEPANEL

--------------------------------------------------------------------------------
drkns 2023-05-29 10:19:46+01:00 - build 6154

1. gh-696: Don't call ProcessConsoleInput on special macro keys.

2. Refactoring.

--------------------------------------------------------------------------------
w17 2023-05-24 21:10:15+03:00 - build 6153

1. Fix 6152

--------------------------------------------------------------------------------
w17 2023-05-24 15:05:42+03:00 - build 6152

1. Continue 6134, 6140
   gh-683: Archive is deleted on close when using prefix to open it from another archive
   PF_RECURSIVEPANEL -> OPIF_RECURSIVEPANEL

--------------------------------------------------------------------------------
MZK 2023-05-21 19:01:56-07:00 - build 6151

1. gh-669: Now Home key works in the Search / Replace dialog.
1.a. Added new FARDIALOGITEMFLAGS: DIF_HOMEITEM.
     This flag indicates the item which should take focus on Home key press.
     Note: The first "focusable" item is not always the best target for Home key.
     It is a good idea to set this flag on the item which initially has DIF_FOCUS.

--------------------------------------------------------------------------------
drkns 2023-05-21 18:36:11+01:00 - build 6150

1. Adjust CreateFile access & sharing flags in a few places.

--------------------------------------------------------------------------------
drkns 2023-05-20 19:37:43+01:00 - build 6149

1. gh-692: Change time for read-only or system files cannot be set

2. gh-693: Change time cannot be set simultaneously with other file attributes

3. gh-694: File creation time lost after saving read-only file on secondary disk

--------------------------------------------------------------------------------
drkns 2023-05-20 17:54:07+01:00 - build 6148

1. More gh-691.

2. Exception handling improvements.

--------------------------------------------------------------------------------
johnd0e 2023-05-19 21:21:00+02:00 - build 6147

1. gh-691: Macros: fix Panel.Select.
   (patch by Shmuel)

--------------------------------------------------------------------------------
skipik 2023-05-16 19:36:39+03:00 - build 6146

1. SQLite v3.42.0

--------------------------------------------------------------------------------
w17 2023-05-16 15:39:22+03:00 - build 6145

1. Continue 6139 -- missed change

--------------------------------------------------------------------------------
MZK 2023-05-15 13:39:37-07:00 - build 6144

1. Fallout of 6135: Persist forgotten Find File dialog options.
1.1. gh-681: Persist empty search pattern.
1.2. gh-685: Persist "Search in archives" option.
1.3. gh-681: Find File content search parameters (search pattern, hex,
     case sensitive, whole words, fuzzy) are not shared with Viewer / Editor.
     However, if the search pattern is not empty, Find File content search
     parameters are copied to Viewer / Editor search.

2. gh-681: Do not allow empty search pattern in Viewer and Editor search dialog.

--------------------------------------------------------------------------------
drkns 2023-05-15 19:38:57+01:00 - build 6143

1. gh-687: Commands history: empty Folder for commands with host-file plugin prefix run via file association.

--------------------------------------------------------------------------------
drkns 2023-05-13 20:18:31+01:00 - build 6142

1. Improve insanely slow help rendering on large screens.
   I won't go into details, but we should rewrite the whole thing.

--------------------------------------------------------------------------------
drkns 2023-05-12 19:31:11+01:00 - build 6141

1. Remove sorting from Task List.
   Now it's MRU, as before 3451.

--------------------------------------------------------------------------------
w17 2023-05-12 14:00:05+03:00 - build 6140

1. Continue 6134.
   gh-680: Enable Recursive Plugin Panels for Plugin.Command Calls

--------------------------------------------------------------------------------
w17 2023-05-12 12:06:40+03:00 - build 6139

1. https://bugs.farmanager.com/view.php?id=3447
   Provide alive macro API in ExitFAR event.

--------------------------------------------------------------------------------
drkns 2023-05-11 19:36:13+01:00 - build 6138

1. fmt 10.0.0.

--------------------------------------------------------------------------------
drkns 2023-05-08 19:32:14+01:00 - build 6137

1. Enable consteval in fmt.

2. Refactoring.

--------------------------------------------------------------------------------
drkns 2023-05-06 20:55:00+01:00 - build 6136

1. Extend internal RGB color picker (similar to 256).

2. Refactoring.

--------------------------------------------------------------------------------
MZK 2023-05-05 22:02:12-07:00 - build 6135

1. gh-612: Help Search parameters are preserved between Help sessions.

2. gh-613: Search patterns and parameters are shared between
   Viewer, Editor, and Find File.

--------------------------------------------------------------------------------
w17 2023-05-04 22:01:33+03:00 - build 6134

1. Experimental: Auto plugin panel stack for PF_RECURSIVEPANEL plugins
   https://forum.farmanager.com/viewtopic.php?t=13202

--------------------------------------------------------------------------------
drkns 2023-04-29 00:28:52+01:00 - build 6133

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2023-04-14 00:24:32+01:00 - build 6132

1. Exception handling improvements.

2. Warnings.

--------------------------------------------------------------------------------
drkns 2023-04-13 00:55:13+01:00 - build 6131

1. Exception handling improvements.

--------------------------------------------------------------------------------
w17 2023-04-12 03:32:44+03:00 - build 6130

1. Continue 6124 -- Don't show Disk/Sort menu if [ ] Show sort mode letter

--------------------------------------------------------------------------------
drkns 2023-04-08 16:10:54+01:00 - build 6129

1. Exception handling improvements.

--------------------------------------------------------------------------------
w17 2023-04-02 10:03:32+03:00 - build 6128

1. Avoid far crash when lua script calls far.Host.GetFiles() for passive panel
   and active panel is not plugin panel.
   https://sourceforge.net/p/farplugs/tickets/205/

--------------------------------------------------------------------------------
MZK 2023-03-31 22:22:52-07:00 - build 6127

1. Continuation of 6122. Follow-up on the discussion in gh-662.
   Swapped buttons on the Search / Replace dialog and removed vertical separator.

--------------------------------------------------------------------------------
drkns 2023-03-31 21:11:07+01:00 - build 6126

1. Correction of 6101.

--------------------------------------------------------------------------------
w17 2023-03-31 10:49:36+03:00 - build 6125

1. Correct 6124

--------------------------------------------------------------------------------
w17 2023-03-31 09:21:17+03:00 - build 6124

1. Forum: Mouse click on Sort order mark letter didn't work if [ ] Show column titles
   https://forum.farmanager.com/viewtopic.php?t=13178

--------------------------------------------------------------------------------
drkns 2023-03-28 19:17:03+01:00 - build 6123

1. gh-665: Crash after an unexpected panel update.
   This is a rather hairy & global problem, see comments in filelist.hpp.

--------------------------------------------------------------------------------
MZK 2023-03-27 22:03:51-07:00 - build 6122

1. Forum: Search / Replace dialog facelift.
   On popular demand at https://forum.farmanager.com/viewtopic.php?t=13158.

--------------------------------------------------------------------------------
drkns 2023-03-27 22:35:19+01:00 - build 6121

1. gh-663: Fix text <-> hex conversions in Viewer and Find File.

--------------------------------------------------------------------------------
drkns 2023-03-27 18:19:56+01:00 - build 6120

1. New versions of fmt, tinyxml2, Catch2.

2. Refactoring.

3. Make unit tests runnable from IDE.

--------------------------------------------------------------------------------
MZK 2023-03-26 11:56:52-07:00 - build 6119

1. gh-542: Editor Search (plain text): Shift+F7 / Alt+F7 now finds the nearest match,
   even if it overlaps with the last found match.

2. gh-660: Editor Search (regex): Shift+F7 in cursor-at-the-end mode now continues
   from the next character.

--------------------------------------------------------------------------------
skipik 2023-03-22 17:19:19+03:00 - build 6118

1. SQLite v3.41.2.

--------------------------------------------------------------------------------
Yegor 2023-03-11 14:11:00-08:00 - build 6117

1. Fixed the rendering of the mark char if its length or visual length exceeds 1 char

--------------------------------------------------------------------------------
skipik 2023-03-11 00:22:07+03:00 - build 6116

1. SQLite v3.41.1.

--------------------------------------------------------------------------------
drkns 2023-03-10 15:00:26+00:00 - build 6115

1. Rendering fix.

--------------------------------------------------------------------------------
MZK 2023-03-07 20:13:03-08:00 - build 6114

1. gh-600: Shift+F7 and Alt+F7 now search in absolute directions (down or up respectfully)
   instead of reversing the direction defined by the last invocation of the Search / Replace dialog.
   Also, on the dialog itself, replaced "Reverse" checkbox with "Search Down / Up" buttons.

--------------------------------------------------------------------------------
drkns 2023-03-07 17:10:01+00:00 - build 6113

1. gh-650: Pressing Ctrl+Enter in the find all menu of the Editor crashes Far if all entries are filtered out.

--------------------------------------------------------------------------------
drkns 2023-03-07 16:29:53+00:00 - build 6112

1. gh-647: Selection not removed in Editor and edit controls on pressing Ctrl+Num6.

--------------------------------------------------------------------------------
drkns 2023-03-05 21:10:37+00:00 - build 6111

1. Refactoring: implement span in terms of std::span.

2. Clang warnings: remove unused variables.

--------------------------------------------------------------------------------
drkns 2023-02-28 21:43:49+00:00 - build 6110

1. Fix crash when window size is too small.

2. Include more data into minidumps.

--------------------------------------------------------------------------------
drkns 2023-02-25 16:36:54+00:00 - build 6109

1. Include Unicode notation (U+NNNN) into the "character is not supported by the selected code page" warning.

--------------------------------------------------------------------------------
zg 2023-02-24 00:45:38+02:00 - build 6108

1. correction of 6104: SE_FOLDERCHANGED sends only to LuaMacro temporary.

--------------------------------------------------------------------------------
skipik 2023-02-23 13:50:41+03:00 - build 6107

1. SQLite v3.41.0.

--------------------------------------------------------------------------------
drkns 2023-02-22 20:47:28+00:00 - build 6106

1. Refactoring.

--------------------------------------------------------------------------------
zg 2023-02-22 00:19:12+02:00 - build 6105

1. Correction of 5822.2 for persistent blocks.

--------------------------------------------------------------------------------
zg 2023-02-21 20:49:15+02:00 - build 6104

1. experimental: new event SE_FOLDERCHANGED, sent when changing the current directory in panels.

--------------------------------------------------------------------------------
MZK 2023-02-18 12:03:13-08:00

1. gh-614: Restored Viewer type-to-search feature which was removed in 6099.
   Now it is implemented as a macro, see View.TypeToSearch.lua.
   Thanks to all for the discussion and prototyping.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. gh-614: Восстановил функциональность Просмотрщика печатать-чтобы-искать,
   которая была удалена в 6099. Теперь это делается при помощи макроса,
   см. View.TypeToSearch.lua. Спасибо всем за обсуждение и прототипирование.

--------------------------------------------------------------------------------
drkns 2023-02-14 21:56:31+00:00 - build 6103

1. A few fixes.

--------------------------------------------------------------------------------
drkns 2023-02-12 00:38:45+00:00 - build 6102

1. Refactoring.

2. More tests.

3. Warnings.

--------------------------------------------------------------------------------
drkns 2023-02-06 22:08:52+00:00 - build 6101

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2023-02-05 13:01:34+00:00 - build 6100

1. gh-483: Do not update panel curdir too early. Experimental.

2. Refactoring.

3. More logging.

--------------------------------------------------------------------------------
MZK 2023-01-30 21:02:33-08:00 - build 6099

1. Viewer now uses the standard Search dialog.

2. Removed the following features:
   - Opening Viewer's Search dialog on typing the first character of the search pattern.
     See gh-614 for the discussion.
   - Search dialog auto-focus.

--------------------------------------------------------------------------------
rohitab 2023-01-30 01:17:44+11:00 - build 6098

1. gh-617: Allow history to be used with masked edit controls.

--------------------------------------------------------------------------------
MZK 2023-01-28 18:41:14-08:00

1. gh-618: Adjusted hotkey assignments on Search / Replace and Find File dialogs.

--------------------------------------------------------------------------------
drkns 2023-01-24 20:29:40+00:00 - build 6097

1. Continue 6095.

--------------------------------------------------------------------------------
MZK 2023-01-22 09:32:07-08:00 - build 6096

1. Added "Search for Hex" functionality to the unified SearchReplace dialog.
   Internal implementation only; no user-visible changes are expected.

--------------------------------------------------------------------------------
drkns 2023-01-22 21:06:44+00:00 - build 6095

1. Reduce CPU load on Ctrl+Alt+Shift.

--------------------------------------------------------------------------------
drkns 2023-01-20 19:34:14+00:00 - build 6094

1. gh-609: Regexp replace: quantifier applied to a group empties its matched text.
   Fix from Shmuel.

--------------------------------------------------------------------------------
drkns 2023-01-14 00:43:31+00:00 - build 6093

1. Refactoring: lock_guard -> scoped_lock.

2. Deduplicate refresh notifications.

3. Make notitication logs more readable.

--------------------------------------------------------------------------------
drkns 2023-01-09 17:57:23+00:00 - build 6092

1. gh-603: Process list plugin randomly switches selection to other processes with the same name.

2. Minor refactoring.

--------------------------------------------------------------------------------
MZK 2023-01-09 09:33:35-08:00 - build 6091

1. gh-605: Induced focus movement in Viewer Search dialog.

--------------------------------------------------------------------------------
drkns 2023-01-08 20:47:16+00:00 - build 6090

1. gh-601: Search for folders checkbox in Find file dialog not synchronized with Hex control
   Remove all shenanigans with that checkbox.

--------------------------------------------------------------------------------
MZK 2023-01-08 09:26:22-08:00 - build 6089

1. Viewer Search: minor refactoring.

--------------------------------------------------------------------------------
MZK 2023-01-07 20:34:03-08:00 - build 6088

1. Fallout of 6078: fixed Alt+F7 behavior in Viewer Search.

--------------------------------------------------------------------------------
drkns 2023-01-04 21:08:06+00:00 - build 6087

1. gh-583: Submenus with keyboard accelerators display ampersand character in title.

--------------------------------------------------------------------------------
drkns 2023-01-04 18:55:21+00:00 - build 6086

1. gh-591: Duplicate keyboard accelerators in Sort modes.

2. gh-593: Cancelling a copy operation on a symlink creates a zero-byte file.

3. Refactoring.

--------------------------------------------------------------------------------
MZK 2023-01-04 10:26:26-08:00 - build 6085

1. Continuation of 6082. Changed tab order on Find File dialog.
   Now Text/Hex radio is the next after "Containing".

2. gh-592: Bug in 6082. Find File dialog: fixed disappearing searched text
   when pressing the Text/Hex hotkey which matches the current state.

--------------------------------------------------------------------------------
zg 2023-01-04 19:47:50+02:00 - build 6084

1. non tread safe code removed from ACTL_SYNCHRO implementation.

--------------------------------------------------------------------------------
yjh 2023-01-04 12:12:29+03:00 - build 6083

1. SQLite v3.40.1

--------------------------------------------------------------------------------
MZK 2023-01-02 11:22:16-08:00 - build 6082

1. Rearranged Text/Hex controls on Find File dialog.

--------------------------------------------------------------------------------
drkns 2023-01-02 18:55:18+00:00 - build 6081

1. gh-588: Default code page problem.

--------------------------------------------------------------------------------
drkns 2023-01-02 18:09:42+00:00 - build 6080

1. gh-587: Environment variables not expanded when editing links.

--------------------------------------------------------------------------------
drkns 2023-01-01 14:24:37+00:00 - build 6079

1. Remove redundant code from Find File and Viewer Search dialogs.

--------------------------------------------------------------------------------
MZK 2022-12-29 18:02:10-08:00 - build 6078

1. Unifying Viewer and Editor search.
   Part 1: Added Fuzzy search to Viewer text search.

--------------------------------------------------------------------------------
MZK 2022-12-28 21:12:37-08:00 - build 6077

1. gh-581: A couple of bugs in Viewer search (text, forward, cycle).

--------------------------------------------------------------------------------
drkns 2022-12-28 23:57:35+00:00 - build 6076

1. Improve VT rendering in corner cases.

2. Refactoring.

--------------------------------------------------------------------------------
drkns 2022-12-27 19:40:03+00:00 - build 6075

1. If %comspec% is cmd.exe and System.Executor.ExcludeCmds is not specified, a predefined list is used.
   Users don't read the documentation, let alone understand the peculiarities of command execution.

2. Refactoring.

--------------------------------------------------------------------------------
drkns 2022-12-21 18:22:14+00:00 - build 6074

1. gh-576: Autocomplete does not work in a dialog launched from a macro.

2. gh-577 again.

--------------------------------------------------------------------------------
drkns 2022-12-20 20:57:35+00:00 - build 6073

1. gh-577: Configuration editor does not restore filtered state of unchanged options.

2. Refactoring.

--------------------------------------------------------------------------------
drkns 2022-12-19 22:14:19+00:00 - build 6072

1. Improve OS errors preserving during links creation.

2. Refactoring, tests etc.

--------------------------------------------------------------------------------
w17 2022-12-16 03:00:34+03:00 - build 6071

1. gh-573: viewer long regex serch fix

--------------------------------------------------------------------------------
drkns 2022-12-15 19:04:20+00:00 - build 6070

1. gh-575: Plugin help doesn't work when launched from some plugin panels.

2. Refactoring.

--------------------------------------------------------------------------------
w17 2022-12-15 13:23:17+03:00 - build 6069

1. Extend 'HH HH ...' mask in the viewer search dialog.

--------------------------------------------------------------------------------
drkns 2022-12-15 01:11:01+00:00 - build 6068

1. Remove redundant workarounds & homebrew implementations of language features.

--------------------------------------------------------------------------------
drkns 2022-12-14 03:36:13+00:00 - build 6067

1. Continue 6065.2.

--------------------------------------------------------------------------------
drkns 2022-12-14 00:51:14+00:00 - build 6066

1. Shuffle the code to make Clang happy.

2. Improve OS version info display.

3. Refactoring.

4. Bump VS version to 2019.5, GCC to 10.0, Clang to 10.0.

5. Use native concepts instead of SFINAE hacks.

6. Remove redundant workarounds.

--------------------------------------------------------------------------------
drkns 2022-12-13 19:59:11+00:00 - build 6065

1. Fix a typo in 4280.

2. Fix mask processing, broken by 5050.

--------------------------------------------------------------------------------
MZK 2022-12-11 17:22:57-08:00 - build 6064

1. Continuation of 6061:
   Decoupling fuzzy search from case sensitive search. Part 2.

--------------------------------------------------------------------------------
drkns 2022-12-11 23:18:33+00:00 - build 6063

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2022-12-11 00:58:15+00:00 - build 6062

1. 0003971: Cross-layout key mapping didn't work in some OSes after 5980.

--------------------------------------------------------------------------------
MZK 2022-12-07 19:00:08-08:00 - build 6061

1. Decoupling fuzzy search from case sensitive search. Part 1.

--------------------------------------------------------------------------------
drkns 2022-12-07 20:34:20+00:00 - build 6060

1. Add standard library info to far:about.

2. Refactoring.

--------------------------------------------------------------------------------
drkns 2022-12-07 00:24:41+00:00 - build 6059

1. Decode CLR exceptions.

2. Refactoring.

3. gh-567: Poor warm-up time.
   Continue the "SQLite vs nocase" saga: reindex affected tables only when integrity checks failed.

--------------------------------------------------------------------------------
drkns 2022-11-27 19:25:18+00:00 - build 6058

1. Refactoring.

2. Warnings.

3. More tests.

--------------------------------------------------------------------------------
drkns 2022-11-26 10:33:29+00:00 - build 6057

1. Fix empty sort criteria menus handling.

2. Optimize map file lookup.

--------------------------------------------------------------------------------
drkns 2022-11-24 21:22:23+00:00 - build 6056

1. Fix detach from WT & properly handle alternative buffers.

2. Refactoring, move plarform-specific code around.

--------------------------------------------------------------------------------
drkns 2022-11-18 17:50:19+00:00 - build 6055

1. Refactoring, move plarform-specific code around.

--------------------------------------------------------------------------------
yjh 2022-11-17 14:10:56+03:00 - build 6054

1. SQLite v3.40.0

--------------------------------------------------------------------------------
zg 2022-11-15 22:58:04+02:00 - build 6053

1. forum: quick view not updated after removing file from temporary panel.

--------------------------------------------------------------------------------
drkns 2022-11-15 00:59:12+00:00 - build 6052

1. 0003966: Correction of 5998 again.

--------------------------------------------------------------------------------
drkns 2022-11-10 17:40:00+00:00 - build 6051

1. gh-483: Change histories items order.

--------------------------------------------------------------------------------
drkns 2022-11-09 19:37:38+00:00 - build 6050

1. Recognize reparse point types on plugin panels.

--------------------------------------------------------------------------------
drkns 2022-11-08 19:47:00+00:00 - build 6049

1. Correction of 6047.

--------------------------------------------------------------------------------
drkns 2022-11-08 17:08:16+00:00 - build 6048

1. Correction of 6047.

--------------------------------------------------------------------------------
drkns 2022-11-07 22:07:21+00:00 - build 6047

1. Microsoft keeps fixing things that ain't broken.
   Apparently Windows Terminal is now default and we have another wave of questions about its eye-bleeding palette.
   It is getting annoying, so the classic palette is now set automatically by default,
   overriding any terminal preferences and rejecting any modern fashion trends in UI design.
   If you actually know what a palette is and have your own, turn the override off in color settings.

--------------------------------------------------------------------------------
drkns 2022-11-07 20:19:16+00:00 - build 6046

1. Rework InfoPanel memory section.

2. Fix color processing.

--------------------------------------------------------------------------------
drkns 2022-11-06 23:58:52+00:00 - build 6045

1. Fix ECTL_SETSTRING crash when source and destination strings overlap.

2. Static analysis warnings.

--------------------------------------------------------------------------------
drkns 2022-11-03 20:43:44+00:00 - build 6044

1. Make "path" in "pushd path" optional.

--------------------------------------------------------------------------------
drkns 2022-11-02 21:24:55+00:00 - build 6043

1. Refactoring, move plarform-specific code around.

2. Refactoring, reorganize error checking.

--------------------------------------------------------------------------------
drkns 2022-10-29 18:00:05+01:00 - build 6042

1. Include PE & file timestamps into generated bug reports.

--------------------------------------------------------------------------------
drkns 2022-10-15 19:27:16+01:00 - build 6041

1. Add workaround for incorrect encoding in OS-generated CF_UNICODETEXT.
   See far:config, ClipboardUnicodeWorkaround.

2. Refactoring.

--------------------------------------------------------------------------------
pepak 2022-10-13 20:18:32+01:00 - build 6040

1. Add special symbols to refer to the left ("![") or to the right ("!]") panel.

--------------------------------------------------------------------------------
drkns 2022-10-10 18:06:05+01:00 - build 6039

1. Use the real window handle when running in Windows Terminal.
   This should fix some scenarios like taskbar progress, flashing, icon setting, Alt+F9 etc.
   It also may or may not break your Terminal, who knows.

--------------------------------------------------------------------------------
drkns 2022-10-07 23:13:59+01:00 - build 6038

1. gh-551: Screen scrambled when pressing Alt-F9 under Windows 11 22H2

--------------------------------------------------------------------------------
drkns 2022-10-06 17:43:00+01:00 - build 6037

1. Fix string replace when pattern and/or replacement are views into the same string.

--------------------------------------------------------------------------------
drkns 2022-10-05 23:47:54+01:00 - build 6036

1. Remove "Colors - Black and white mode".

2. Add "Colors - Set default colors (RGB)" - same as "Set default colors", but fixed RGB values instead of indices.

--------------------------------------------------------------------------------
drkns 2022-10-05 17:15:46+01:00 - build 6035

1. far:regex: include offsets into match information.

2. Fix 6030.1.

--------------------------------------------------------------------------------
drkns 2022-10-04 21:56:22+01:00 - build 6034

1. Use IMultiLanguage2 for codepage detection.

2. Refactoring.

--------------------------------------------------------------------------------
drkns 2022-10-03 23:20:09+01:00 - build 6033

1. Add regex testing UI - far:regex

2. Fix regex named groups processing in cases like a(?{name}.)?b, improve tests

3. Suppress logs once the logger is destroyed.

4. Minor refactoring.

--------------------------------------------------------------------------------
yjh 2022-10-03 00:22:43+03:00 - build 6032

1. SQLite v3.39.4.

--------------------------------------------------------------------------------
drkns 2022-10-02 21:16:49+01:00 - build 6031

1. Correction of 6030.

--------------------------------------------------------------------------------
drkns 2022-10-02 19:29:07+01:00 - build 6030

1. Named groups in regular expressions are now included into the usual match list and can be referred by number in order of appearance.

2. Named groups support in RegExpControl:
   After a successful RECTL_MATCHEX/RECTL_SEARCHEX call RECTL_NAMEDGROUPINDEX with Param1 = 0 and Param2 = <group name>.
   The return value is the index of the group in the RegExpSearch.Match array, populated by the last call to match/search.

--------------------------------------------------------------------------------
drkns 2022-09-29 18:22:32+01:00 - build 6029

1. Capture dbgeng and dbghelp logs.

--------------------------------------------------------------------------------
drkns 2022-09-21 17:59:59+01:00 - build 6028

1. Fix colors import/export.

--------------------------------------------------------------------------------
drkns 2022-09-18 02:18:21+01:00 - build 6027

1. Support ASan exceptions.

--------------------------------------------------------------------------------
drkns 2022-09-16 22:16:00+01:00 - build 6026

1. Forum: ESC/F10 does not close Change Drive dialog in "elevated" folders.

--------------------------------------------------------------------------------
drkns 2022-09-16 00:08:25+01:00 - build 6025

1. Crash on panel update.

--------------------------------------------------------------------------------
drkns 2022-09-14 23:47:31+01:00 - build 6024

1. Show inline frames in stack traces.

--------------------------------------------------------------------------------
drkns 2022-09-13 22:45:05+01:00 - build 6023

1. fmt 9.1.1.

2. Catch2 2.13.9.

--------------------------------------------------------------------------------
drkns 2022-09-13 19:34:03+01:00 - build 6022

1. Optimise VT throughput.

2. Fix VT double underline to underline transitioning.

3. Refactoring.

--------------------------------------------------------------------------------
drkns 2022-09-10 18:06:24+01:00 - build 6021

1. Add smooth rotation to 256 color picker.

--------------------------------------------------------------------------------
drkns 2022-09-08 01:08:00+01:00 - build 6020

1. Ignore directories when looking for specific file masks, e.g. lng & hlf.

2. Improve exception messages.

3. Improve recovery after exceptions in window processing.

4. Handle exceptions in help & remove a few old workarounds.

--------------------------------------------------------------------------------
yjh 2022-09-07 00:39:44+03:00 - build 6019

1. SQLite v3.39.3.

--------------------------------------------------------------------------------
drkns 2022-09-04 18:26:41+01:00 - build 6018

1. 0003336: Regex \{(.)?\} finds } in {}.

--------------------------------------------------------------------------------
drkns 2022-09-04 16:59:33+01:00 - build 6017

1. Enable VT directly from color dialog if supported.

--------------------------------------------------------------------------------
drkns 2022-08-31 20:57:09+01:00 - build 6016

1. Support FILE_ATTRIBUTE_DEVICE.

2. Use SAFESEH on x86.

3. Refactoring.

--------------------------------------------------------------------------------
drkns 2022-08-30 19:54:53+01:00 - build 6015

1. Improve exception diagnostics.

--------------------------------------------------------------------------------
drkns 2022-08-29 21:59:46+01:00 - build 6014

1. Refactoring.

2. Correction of 5998.

3. Minor hlf corrections.

--------------------------------------------------------------------------------
drkns 2022-08-13 23:34:12+01:00 - build 6013

1. Whole words regex search in editor.

--------------------------------------------------------------------------------
drkns 2022-08-13 14:23:53+01:00 - build 6012

1. Include disassembly in bug_report.txt.

2. Refactoring.

--------------------------------------------------------------------------------
drkns 2022-08-10 22:34:43+01:00 - build 6011

1. Fix change disk dialog behavior.

2. Do not try to execute empty commands.

3. Fix build in VS 2022 17.4.

--------------------------------------------------------------------------------
MZK 2022-08-06 18:26:39-07:00 - build 6010

1. Fixed two bugs in the string search algorithm.

--------------------------------------------------------------------------------
drkns 2022-08-06 15:34:28+01:00 - build 6009

1. Improve exception diagnostics.

--------------------------------------------------------------------------------
drkns 2022-08-06 11:11:06+01:00 - build 6008

1. Fix Undo issue after 5916 & continue #0003907.

--------------------------------------------------------------------------------
drkns 2022-08-05 20:04:28+01:00 - build 6007

1. Improve exception diagnostics.

--------------------------------------------------------------------------------
drkns 2022-08-04 20:33:22+01:00 - build 6006

1. Fix filters issue after swapping panels.

2. Suppress plugin selection dialog during search.

--------------------------------------------------------------------------------
drkns 2022-08-02 22:50:15+01:00 - build 6005

1. "[x] Search in archives" was trying to read directories.

--------------------------------------------------------------------------------
drkns 2022-08-02 19:47:00+01:00 - build 6004

1. Correction of 5600.

2. Correction of 5983.

--------------------------------------------------------------------------------
drkns 2022-08-01 20:30:44+01:00 - build 6003

1. Extend RGB color picker.

2. Restore w2k compatibility.

3. Minor fixes.

--------------------------------------------------------------------------------
drkns 2022-08-01 02:51:40+01:00 - build 6002

1. Extend 256 color picker.

--------------------------------------------------------------------------------
drkns 2022-07-30 22:27:06+01:00 - build 6001

1. Refactoring.

2. Improve exception diagnostics.

3. Support UTF-8 in far.exe.ini.

4. Correction of 5936.

5. Correction of 5998.

--------------------------------------------------------------------------------
drkns 2022-07-22 23:55:11+01:00 - build 6000

1. Refactoring.

--------------------------------------------------------------------------------
yjh 2022-07-22 01:34:04+03:00 - build 5999

1. SQLite v3.39.2.

--------------------------------------------------------------------------------
drkns 2022-07-17 17:54:30+01:00 - build 5998

1. Continue fullwidth-aware rendering.

--------------------------------------------------------------------------------
drkns 2022-07-16 23:17:49+01:00 - build 5997

1. Continue 5996.

--------------------------------------------------------------------------------
drkns 2022-07-16 20:44:11+01:00 - build 5996

1. Files highlighting - Marking character can contain any number of characters.

--------------------------------------------------------------------------------
drkns 2022-07-16 00:16:57+01:00 - build 5995

1. Refactoring.

2. Add logger icon.

--------------------------------------------------------------------------------
yjh 2022-07-14 21:58:48+03:00 - build 5994

1. SQLite v3.39.1.

--------------------------------------------------------------------------------
drkns 2022-07-13 19:29:19+01:00 - build 5993

2. Continue fullwidth-aware rendering.

--------------------------------------------------------------------------------
drkns 2022-07-11 21:44:15+01:00 - build 5992

1. Switch to conformant preprocessor.

2. Refactoring.

3. Menu width correction.

4. Fix "use shell name" in disk menu.

--------------------------------------------------------------------------------
drkns 2022-07-08 08:39:53+01:00 - build 5991

1. Correction of 5989.2.

--------------------------------------------------------------------------------
drkns 2022-07-06 23:29:00+01:00 - build 5990

1. fmt v9.

2. Improve exception diagnostics, refactoring.

--------------------------------------------------------------------------------
drkns 2022-07-02 19:56:01+01:00 - build 5989

1. Improve exception diagnostics.

2. Refactoring.

--------------------------------------------------------------------------------
drkns 2022-06-28 02:04:55+01:00 - build 5988

1. Correction of 5983 or #0003951.

--------------------------------------------------------------------------------
drkns 2022-06-26 21:57:48+01:00 - build 5987

1. Continue 5985.

2. #0003950 - excessive attempts to set the owner when working with folders.

--------------------------------------------------------------------------------
yjh 2022-06-26 01:28:46+03:00 - build 5986

1. SQLite v3.39.0.

--------------------------------------------------------------------------------
drkns 2022-06-25 23:06:40+01:00 - build 5985

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2022-06-24 20:41:44+01:00 - build 5984

1. Add color picker dialog help page.

2. UI colors can be reset separately.

--------------------------------------------------------------------------------
drkns 2022-06-23 19:19:19+01:00 - build 5983

1. Workaround for broken half-width surrogates (e.g. "𝔟𝔞𝔫𝔞𝔫𝔞") in conhost & WT.

--------------------------------------------------------------------------------
drkns 2022-06-22 23:59:59+01:00 - build 5982

1. gh-532: Copy file bigger than target file system can store.
   Do not proceed if we can't reserve the space for the file.

--------------------------------------------------------------------------------
EugeneManushkin 2022-06-22 14:09:17+03:00 - build 5981

1. Allow run modal editor with XC_OPEN_NEWINSTANCE exit code. This fix invalid EF_OPENMODE_NEWIFOPEN flag behaviour #530.

--------------------------------------------------------------------------------
drkns 2022-06-20 22:32:45+01:00 - build 5980

1. Allow sourcing of keyboard mappings from xlat tables.

2. Minor refactoring.

--------------------------------------------------------------------------------
drkns 2022-06-12 20:20:20+01:00 - build 5979

1. 256 color palette support.

2. More "style" attributes: inverse, invisible.

3. Minor fixes.

--------------------------------------------------------------------------------
drkns 2022-06-08 23:20:56+01:00 - build 5978

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2022-06-07 01:31:20+01:00 - build 5977

1. More logging.

--------------------------------------------------------------------------------
drkns 2022-06-04 12:37:01+01:00 - build 5976

1. Correction of 5972.2.

--------------------------------------------------------------------------------
drkns 2022-06-03 22:47:43+01:00 - build 5975

1. Another day, another workaround for Windows 10 console.

2. More logging.

--------------------------------------------------------------------------------
yjh 2022-06-01 17:39:33+03:00 - build  5974

1. Fix GPF (in 32bit release) when build with VS2022 (19.32)

--------------------------------------------------------------------------------
drkns 2022-06-01 00:54:02+01:00 - build 5973

1. Improve exception diagnostics.

2. Use Clang and GCC maps for stack traces enrichment.

--------------------------------------------------------------------------------
drkns 2022-05-29 20:03:12+01:00 - build 5972

1. Improve exception diagnostics.

2. Validate command line arguments.

--------------------------------------------------------------------------------
drkns 2022-05-25 01:00:56+01:00 - build 5971

1. Continue 5970.

--------------------------------------------------------------------------------
drkns 2022-05-24 21:18:27+01:00 - build 5970

1. Intercept heap corruption.

--------------------------------------------------------------------------------
yjh 2022-05-07 22:32:09+03:00 - build 5969

1. SQLite v3.38.5.

--------------------------------------------------------------------------------
yjh 2022-05-05 01:02:21+03:00 - build 5968

1. SQLite v3.38.4.

--------------------------------------------------------------------------------
yjh 2022-04-28 01:20:26+03:00 - build 5967

1. SQLite v3.38.3.

--------------------------------------------------------------------------------
drkns 2022-04-24 17:14:58+01:00 - build 5966

1. 0003940: Editor crash when changing codepage to UTF16BE.

--------------------------------------------------------------------------------
drkns 2022-04-18 03:16:06+01:00 - build 5965

1. Correction of 5955.1.

--------------------------------------------------------------------------------
yjh 2022-03-28 12:19:04+03:00 - build 5964

1. SQLite v3.38.2.

--------------------------------------------------------------------------------
drkns 2022-02-24 01:23:37+00:00 - build 5963

1. Improve SQLite diagnostics.

2. More logging.

3. Refactoring.

--------------------------------------------------------------------------------
skipik 2022-02-23 19:46:25+03:00 - build 5962

1. SQLite v3.38.0.

--------------------------------------------------------------------------------
drkns 2022-02-04 17:54:40+00:00 - build 5961

1. Continue 5960.

--------------------------------------------------------------------------------
drkns 2022-02-04 00:15:55+00:00 - build 5960

1. Continue 5905: associations were overlooked.

--------------------------------------------------------------------------------
drkns 2022-02-02 02:02:02+00:00 - build 5959

1. Improve exception diagnostics.

--------------------------------------------------------------------------------
drkns 2022-02-01 01:17:02+00:00 - build 5958

1. Improve diagnostics in "access denied" errors.

--------------------------------------------------------------------------------
drkns 2022-01-28 09:21:47+00:00 - build 5957

1. Wrong backwards regex replace with named groups and multiple matches within the line.

2. Regex search didn't work in Help.

3. Regex should be truly thread-safe now (search/match-wise).

4. Other corner case regex fixes.

5. Refactoring.

--------------------------------------------------------------------------------
drkns 2022-01-25 00:07:30+00:00 - build 5956

1. Correction of 5955.1.

--------------------------------------------------------------------------------
drkns 2022-01-20 20:41:13+00:00 - build 5955

1. Refactoring.

2. GUID for "Groups of file masks" dialog.

--------------------------------------------------------------------------------
w17 2022-01-12 22:01:17+03:00 - build 5954

1. simplify disk sector size logic

--------------------------------------------------------------------------------
skipik 2022-01-07 14:11:12+03:00 - build 5953

1. SQLite v3.37.2.

--------------------------------------------------------------------------------
drkns 2022-01-04 21:22:37+00:00 - build 5952

1. Refactoring.

--------------------------------------------------------------------------------
skipik 2022-01-03 22:53:17+03:00 - build 5951

1. SQLite v3.37.1.

--------------------------------------------------------------------------------
drkns 2021-12-29 22:42:45+00:00 - build 5950

1. Crash (or two) on console detach.

--------------------------------------------------------------------------------
drkns 2021-12-26 13:58:32+00:00 - build 5949

1. Deadlock in executor in certain scenarios.

--------------------------------------------------------------------------------
drkns 2021-12-25 22:33:14+00:00 - build 5948

1. FS monitoring again.

--------------------------------------------------------------------------------
drkns 2021-12-25 16:27:10+00:00 - build 5947

1. Fix URLs processing in Help.

--------------------------------------------------------------------------------
drkns 2021-12-23 22:36:54+00:00 - build 5946

1. gh-502: Another parentheses-related issue.

--------------------------------------------------------------------------------
drkns 2021-12-23 17:28:03+00:00 - build 5945

1. gh-502: Removal of Parenthesis from a User Variable Initial Value in F2 User Command.

2. Minor refactoring & tests.

--------------------------------------------------------------------------------
drkns 2021-12-23 02:14:27+00:00 - build 5944

1. FS monitoring rework (again).
   Now only one extra thread.

--------------------------------------------------------------------------------
drkns 2021-12-22 20:00:38+00:00 - build 5943

1. Delay load config DBs.

--------------------------------------------------------------------------------
drkns 2021-12-22 02:14:35+00:00 - build 5942

1. Continue 5890: fuzzy search is now optional.
   It can be activated with the third state of the "Case sensitive" option in dialogs.

--------------------------------------------------------------------------------
drkns 2021-12-22 00:17:17+00:00 - build 5941

1. Refactoring.

2. Add a help page for sort criteria.

--------------------------------------------------------------------------------
drkns 2021-12-19 13:30:58+00:00 - build 5940

1. Continue 5938.

--------------------------------------------------------------------------------
drkns 2021-12-18 03:37:55+00:00 - build 5939

1. Alternative NTSTATUS accessing.

--------------------------------------------------------------------------------
drkns 2021-12-18 01:09:04+00:00 - build 5938

1. FS monitoring rework (again).
   "System settings - Update panels only when Far is active" is no longer needed and removed.

--------------------------------------------------------------------------------
drkns 2021-12-15 16:24:56+00:00 - build 5937

1. Data alignment corrections.

--------------------------------------------------------------------------------
drkns 2021-12-14 12:12:19+00:00 - build 5936

1. Correction of 5932.

--------------------------------------------------------------------------------
drkns 2021-12-13 23:10:45+00:00 - build 5935

1. Correction of 5932.

--------------------------------------------------------------------------------
drkns 2021-12-13 21:58:58+00:00 - build 5934

1. Forum: incorrect percents in editor progress bar (and potentially elsewhere).

--------------------------------------------------------------------------------
drkns 2021-12-13 12:50:18+00:00 - build 5933

1. Typo.

--------------------------------------------------------------------------------
drkns 2021-12-13 02:32:37+00:00 - build 5932

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2021-12-10 23:51:14+00:00 - build 5931

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2021-12-09 17:35:00+00:00 - build 5930

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2021-12-09 03:02:46+00:00 - build 5929

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2021-12-05 02:27:10+00:00 - build 5928

1. Continue 2493: now it works with folders as well.

--------------------------------------------------------------------------------
drkns 2021-12-03 23:17:16+00:00 - build 5927

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2021-12-02 18:21:35+00:00 - build 5926

1. 0003919 again.

--------------------------------------------------------------------------------
skipik 2021-12-01 21:42:37+03:00 - build 5925

1. SQLite 3.37.0.

--------------------------------------------------------------------------------
drkns 2021-12-02 01:03:27+00:00 - build 5924

1. 0003919: Crash on Alt+Enter.
   Windows 10 is a PITA.

--------------------------------------------------------------------------------
drkns 2021-11-26 01:22:00+00:00 - build 5923

1. 0003918: Manual non-Persistent selection in Viewer broken since build 5833.

--------------------------------------------------------------------------------
drkns 2021-11-24 22:49:22+00:00 - build 5922

1. 0003915: Redundant environment expansion in Folders History.

2. gh-481: Issue with navigation if dir structure was deleted outside of far.

--------------------------------------------------------------------------------
drkns 2021-11-24 17:10:25+00:00 - build 5921

1. Incorrect console title while copying files.

--------------------------------------------------------------------------------
drkns 2021-11-18 17:21:33+00:00 - build 5920

1. microsoft/terminal#11780: don't use C1 CSI for rendering.

--------------------------------------------------------------------------------
drkns 2021-11-17 22:46:07+00:00 - build 5919

1. Make search dialog more mouse-friendly.

--------------------------------------------------------------------------------
drkns 2021-11-16 21:51:24+00:00 - build 5918

1. Another fix for search in UTF-8 files. Multibyte code pages are Pure Evil.

--------------------------------------------------------------------------------
drkns 2021-11-14 22:07:29+00:00 - build 5917

1. Incorrect console title while deleting files.

--------------------------------------------------------------------------------
drkns 2021-11-14 21:34:19+00:00 - build 5916

1. 0003907: Undo after inserting with mouse.

--------------------------------------------------------------------------------
drkns 2021-11-10 23:37:46+00:00 - build 5915

1. gh-469: Unexpected delay between pressing F3 and showing the window

--------------------------------------------------------------------------------
drkns 2021-11-08 17:11:18+00:00 - build 5914

1. Correction of 5911.

--------------------------------------------------------------------------------
drkns 2021-11-07 11:27:01+00:00 - build 5913

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2021-11-03 16:31:26+00:00 - build 5912

1. 0003898: Sort layers menu not updated when changed.

2. Warnings.

--------------------------------------------------------------------------------
drkns 2021-11-03 11:51:32+00:00 - build 5911

1. Correction of 5909.

--------------------------------------------------------------------------------
johnd0e 2021-10-31 17:45:00+02:00 - build 5910

1. Panel API: ignore PluginId in GetPluginDirList
   because hPanel is enough.
   (patch by Shmuel)

--------------------------------------------------------------------------------
drkns 2021-10-31 13:56:15+00:00 - build 5909

1. Refactoring.

2. New versions of fmt, tinyxml2, Catch2.

3. Update translations.

--------------------------------------------------------------------------------
drkns 2021-10-28 00:46:04+01:00 - build 5908

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2021-10-27 02:13:23+01:00 - build 5907

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2021-10-26 00:31:11+01:00 - build 5906

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2021-10-22 18:06:14+01:00 - build 5905

1. gh-458: Wrong file path

--------------------------------------------------------------------------------
drkns 2021-10-19 19:58:55+01:00 - build 5904

1. Optimise adding, deleting, marking history.

2. Fix open combobox position.

--------------------------------------------------------------------------------
drkns 2021-10-18 17:08:39+01:00 - build 5903

1. 0003904: Plugin error after update.

--------------------------------------------------------------------------------
drkns 2021-10-12 18:09:00+01:00 - build 5902

1. 0003902: Panel.FAttr doesn't work on TmpPanel.

--------------------------------------------------------------------------------
drkns 2021-10-07 08:54:21+01:00 - build 5901

1. Continue 5900.

--------------------------------------------------------------------------------
drkns 2021-10-07 01:38:53+01:00 - build 5900

1. Partial revert to pre-5850 behaviour of progress dialogs. It's not ready yet.

--------------------------------------------------------------------------------
drkns 2021-10-07 00:35:33+01:00 - build 5899

1. Potential crash in plugin panels.

--------------------------------------------------------------------------------
drkns 2021-10-06 20:38:28+01:00 - build 5898

1. Forum: wrong selection in editor.

--------------------------------------------------------------------------------
drkns 2021-10-04 21:40:39+01:00 - build 5897

1. Continue 5890.

--------------------------------------------------------------------------------
drkns 2021-10-03 23:28:47+01:00 - build 5896

1. Improve exception handling in Find File.

--------------------------------------------------------------------------------
drkns 2021-10-03 23:13:33+01:00 - build 5895

1. Correction of 5890.

--------------------------------------------------------------------------------
drkns 2021-10-03 21:55:37+01:00 - build 5894

1. Include plugin info in exception dialog.

--------------------------------------------------------------------------------
drkns 2021-10-02 15:01:35+01:00 - build 5893

1. 0003897: File marking character in status line disappears after invoking user menu.

--------------------------------------------------------------------------------
drkns 2021-09-30 18:11:48+01:00 - build 5892

1. Correction of 5890.

--------------------------------------------------------------------------------
drkns 2021-09-25 22:06:04+01:00 - build 5891

1. Correction of 5890.

--------------------------------------------------------------------------------
drkns 2021-09-25 03:00:00+01:00 - build 5890

1. Experimental: fuzzy search in panels, editor and help: a can match àáâãäåāăą, еи - ёй, き- ぎ, Æ - ae, ß - ss and so on and vice versa.
   Beware of bugs.

2. Wrong files reading in certain rare scenarios, e.g. when a multibyte character or EOL falls on the read buffer boundary.

--------------------------------------------------------------------------------
drkns 2021-09-19 14:47:00+01:00 - build 5889

1. Support more reparse tags.

--------------------------------------------------------------------------------
drkns 2021-09-18 17:44:44+01:00 - build 5888

1. gh-449: Security concern: execute exe file without extension

--------------------------------------------------------------------------------
drkns 2021-09-15 18:26:08+01:00 - build 5887

1. Far now can use map files to enrich stack traces directly.

2. FExcept is no longer used.

--------------------------------------------------------------------------------
drkns 2021-09-01 20:51:01+01:00 - build 5886

1. gh-437: File list copy: Wrong number of total bytes on retry.

2. Correction of 5860.

--------------------------------------------------------------------------------
drkns 2021-08-29 22:22:22+01:00 - build 5885

1. Don't add Unicode BOM to file lists created with !@! (5740 again).

--------------------------------------------------------------------------------
drkns 2021-08-28 23:39:58+01:00 - build 5884

1. Improve buffer size change detection.

--------------------------------------------------------------------------------
drkns 2021-08-22 21:35:05+01:00 - build 5883

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2021-08-21 21:38:32+01:00 - build 5882

1. Continue 5881.1.

2. Refactoring.

--------------------------------------------------------------------------------
drkns 2021-08-20 19:42:31+01:00 - build 5881

1. Adjust filters behavior in Find File.

2. Refactoring.

--------------------------------------------------------------------------------
drkns 2021-08-19 18:33:48+01:00 - build 5880

1. Minor correction of moving dialog focus with hotkeys.

2. gh-436: Difference between help file and dialog window.

--------------------------------------------------------------------------------
drkns 2021-08-17 20:16:51+01:00 - build 5879

1. Forum: Stack overflow on panel update.

--------------------------------------------------------------------------------
drkns 2021-08-17 00:01:53+01:00 - build 5878

1. Correction of 5875.

--------------------------------------------------------------------------------
drkns 2021-08-16 21:46:12+01:00 - build 5877

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2021-08-16 17:34:55+01:00 - build 5876

1. Forum: some visual distinction for the "Inherit" flag in the Color dialog & hotkeys.

2. Minor executor correction.

3. Stop looking for GetColorDialog in extendedconsole.dll.

--------------------------------------------------------------------------------
drkns 2021-08-12 00:11:15+01:00 - build 5875

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2021-08-11 01:57:17+01:00 - build 5874

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2021-08-10 01:01:01+01:00 - build 5873

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2021-08-08 13:05:04+01:00 - build 5872

1. 0003891: Panel scrollbar wasn't shown in multicolumn modes in corner cases.

--------------------------------------------------------------------------------
drkns 2021-08-08 10:45:59+01:00 - build 5871

1. Pass both OPM_FIND and OPM_SILENT to plugins during directory scans.

--------------------------------------------------------------------------------
drkns 2021-08-07 12:26:09+01:00 - build 5870

1. Forum: Copy contents of symbolic links & total copy size.

--------------------------------------------------------------------------------
drkns 2021-08-04 22:55:19+01:00 - build 5869

2. Correction of 5865.

--------------------------------------------------------------------------------
drkns 2021-08-04 18:55:09+01:00 - build 5868

1. Continue 5866.

--------------------------------------------------------------------------------
drkns 2021-08-03 17:48:48+01:00 - build 5867

1. 0003889: Editor white space wasn't rendered in certain cases.

2. Correction of 5862.

--------------------------------------------------------------------------------
drkns 2021-08-03 02:04:01+01:00 - build 5866

1. Remove all fake dialogs & preredraw magic.

--------------------------------------------------------------------------------
drkns 2021-08-02 21:01:36+01:00 - build 5865

1. Remove more fake dialogs.

2. Minor performance optimisations.

--------------------------------------------------------------------------------
drkns 2021-08-01 15:34:13+01:00 - build 5864

1. Remove more fake dialogs.

--------------------------------------------------------------------------------
drkns 2021-07-31 14:22:45+01:00 - build 5863

1. Continue 5862.1.

--------------------------------------------------------------------------------
drkns 2021-07-31 12:58:27+01:00 - build 5862

1. gh-428: Security Issue: Execute the exe file when opening a file with same filename without file extension.

2. Correctly show the shell type (if any) for files without extension.

--------------------------------------------------------------------------------
drkns 2021-07-30 02:27:00+01:00 - build 5861

1. Correction of 5860.

--------------------------------------------------------------------------------
drkns 2021-07-29 23:04:52+01:00 - build 5860

1. Optimise adding items to history.

--------------------------------------------------------------------------------
drkns 2021-07-29 19:41:27+01:00 - build 5859

1. Fix a potential crash at exit.

2. Continue 5845.6 - do not populate FarDialogItem.ListItems in DN_DRAWDLGITEM.

--------------------------------------------------------------------------------
drkns 2021-07-26 17:27:54+01:00 - build 5858

1. Correction of 5855.

--------------------------------------------------------------------------------
drkns 2021-07-25 22:56:46+01:00 - build 5857

1. Correction of 5852.1.

--------------------------------------------------------------------------------
drkns 2021-07-25 20:02:30+01:00 - build 5856

1. Correction of 5852.2.

--------------------------------------------------------------------------------
drkns 2021-07-25 19:40:43+01:00 - build 5855

1. Copy progress is a real dialog now. Yay.

--------------------------------------------------------------------------------
drkns 2021-07-23 01:41:38+01:00 - build 5854

1. Set console input mode in a smarter way.

--------------------------------------------------------------------------------
drkns 2021-07-22 19:50:21+01:00 - build 5853

1. Reduce CPU load in the log viewer.

--------------------------------------------------------------------------------
drkns 2021-07-20 17:48:06+01:00 - build 5852

1. gh-425 Incorrect file sizes shown/calculated for files compressed with LZX

2. Continue 5850.

--------------------------------------------------------------------------------
drkns 2021-07-20 02:38:36+01:00 - build 5851

1. Rework and simplify Delete/Wipe/Recycle dialog localisation.

--------------------------------------------------------------------------------
drkns 2021-07-19 22:08:39+01:00 - build 5850

1. Experimental: removed fake dialogs and preredraw magic from editor load/save/find progress bars.

--------------------------------------------------------------------------------
drkns 2021-07-13 20:22:19+01:00 - build 5849

1. Preserve the locked state when reopening editor from history.

--------------------------------------------------------------------------------
drkns 2021-07-12 20:53:26+01:00 - build 5848

1. Render real shadows when possible.

--------------------------------------------------------------------------------
drkns 2021-07-12 00:21:06+01:00 - build 5847

1. Refactoring.

2. More logging.

--------------------------------------------------------------------------------
drkns 2021-07-11 16:27:30+01:00 - build 5846

1. Screen artefacts after updating QView panel.

--------------------------------------------------------------------------------
drkns 2021-07-10 15:55:20+01:00 - build 5845

1. Correctly show delete indicator if the directory scan before it was cancelled.

2. A few more fullwidth-related improvements.

3. Workaround for a conhost bug in DirectX mode.

4. Properly update Find File status bar.

5. Properly discard previous Find File results in all cases.

6. Speed up Find File by removing a few quadratic algorithms from the listbox / menu implementation.

--------------------------------------------------------------------------------
drkns 2021-07-06 17:17:17+01:00 - build 5844

1. #0003877: Exit to archive root via cd \ breaks the panel title.

2. #0003878: Incorrect selection when the block is beyond the screen border.

3. Several fixes in 1.x plugin wrapper related to colors processing.

4. Throttle down file panel updates on FS changes to one per second at most.

--------------------------------------------------------------------------------
drkns 2021-07-01 03:01:55+01:00 - build 5843

1. Autocomplete-related fixes.

--------------------------------------------------------------------------------
drkns 2021-06-30 01:41:10+01:00 - build 5842

1. Panels autoupdate again.

--------------------------------------------------------------------------------
drkns 2021-06-29 23:22:07+01:00 - build 5841

1. And more.

--------------------------------------------------------------------------------
drkns 2021-06-29 17:58:00+01:00 - build 5840

1. A few more fixes.

--------------------------------------------------------------------------------
drkns 2021-06-29 04:04:29+01:00 - build 5839

1. Correction of 5838.

--------------------------------------------------------------------------------
drkns 2021-06-29 00:41:42+01:00 - build 5838

1. Eradicate idle events. Use ACTL_SYNCHRO if you need one.

2. Correction of panels autoupdate.

--------------------------------------------------------------------------------
drkns 2021-06-26 13:57:43+01:00 - build 5837

1. Continue 5833.1, revert 5833.2.

--------------------------------------------------------------------------------
drkns 2021-06-25 23:38:49+01:00 - build 5836

1. Show 4-bit color codes in color dialog.

--------------------------------------------------------------------------------
drkns 2021-06-25 19:46:48+01:00 - build 5835

1. Continue 5833.1 & 5834.

--------------------------------------------------------------------------------
drkns 2021-06-24 21:42:04+01:00 - build 5834

1. Continue 5833 1 & 2.

--------------------------------------------------------------------------------
drkns 2021-06-23 23:34:45+01:00 - build 5833

1. Since 5804.1 didn't crash and burn, let's go further and poll once per minute if nothing else happens.

2. Remove polling from waitkey / ACTL_WAITKEY processing.

3. Forum: closing viewer/editor with F3/F4 should be more predictable now.

4. Forum: update edit history after changing the lock state.

5. Numpad should work in Windows Terminal now.

6. Refactoring.

--------------------------------------------------------------------------------
drkns 2021-06-22 02:19:01+01:00 - build 5832

1. New versions of fmt, tinyxml2, Catch2.

--------------------------------------------------------------------------------
drkns 2021-06-20 02:24:21+01:00 - build 5831

1. Loading plugins from file symlinks didn't work.

--------------------------------------------------------------------------------
drkns 2021-06-19 16:54:09+01:00 - build 5830

1. Limit the workaround for microsoft/terminal#10456 to specific Windows versions.

--------------------------------------------------------------------------------
svs 2021-06-19 10:15:41+01:00 - build 5829

1. SQLite 3.36.0

--------------------------------------------------------------------------------
drkns 2021-06-18 00:53:41+01:00 - build 5828

1. Don't apply fullwidth-aware rendering workarounds when not needed.

--------------------------------------------------------------------------------
drkns 2021-06-17 21:25:13+01:00 - build 5827

1. In far:config Alt+F4 edits integer values as binary.

--------------------------------------------------------------------------------
drkns 2021-06-17 02:05:29+01:00 - build 5826

1. Continue 5822.2. More experimental removals.

--------------------------------------------------------------------------------
drkns 2021-06-16 22:45:42+01:00 - build 5825

1. Correction of 5818.1.

--------------------------------------------------------------------------------
drkns 2021-06-16 22:20:44+01:00 - build 5824

1. Typo in 2201 (yes, 10 years ago).

--------------------------------------------------------------------------------
drkns 2021-06-16 18:22:16+01:00 - build 5823

1. Correction of 5822.2.

2. Refactoring.

--------------------------------------------------------------------------------
drkns 2021-06-15 22:01:42+01:00 - build 5822

1. Forum: selection in fixed size edit controls.

2. Other selection-related fixes in edit controls and the editor.
   Various service keys shouldn't stop selection / deselect anymore.

3. Forum: extra echo when executing unknown commands in a new window.

--------------------------------------------------------------------------------
drkns 2021-06-14 19:10:39+01:00 - build 5821

1. Removed the workaround for plugins that erroneously add transparent editor highlighting.
   Transparency is now taken into account.
   If your plugin/script suddenly stopped working - fill the colors properly.

--------------------------------------------------------------------------------
drkns 2021-06-12 12:39:43+01:00 - build 5820

1. Show code point values for surrogate pairs in editor status line.

--------------------------------------------------------------------------------
drkns 2021-06-12 02:00:20+01:00 - build 5819

1. Vertical separators were shown incorrectly in the last few builds.

2. Trigger the screensaver only if the window is focused.

--------------------------------------------------------------------------------
drkns 2021-06-10 22:11:22+01:00 - build 5818

1. Hightly experimental changes in editor color processing and text rendering.
   Things should be simpler, saner and faster now. Hopefully.
   Expect bugs. Report ASAP.

2. Continue fullwidth-aware rendering.

3. Corrections of text attributes merging.

4. GCC warnings.

--------------------------------------------------------------------------------
drkns 2021-06-09 22:54:58+01:00 - build 5817

1. Correction of 5630: no need to call the sorting plugin in the "Unsorted" mode.

--------------------------------------------------------------------------------
drkns 2021-06-07 23:54:29+01:00 - build 5816

1. Forum: sorting on plugin panels is too slow.

--------------------------------------------------------------------------------
drkns 2021-06-07 22:28:28+01:00 - build 5815

1. Continue fullwidth-aware rendering.

--------------------------------------------------------------------------------
drkns 2021-06-06 21:01:06+01:00 - build 5814

1. Basic support for UTF-16 surrogates.

--------------------------------------------------------------------------------
drkns 2021-06-05 23:26:24+01:00 - build 5813

1. Continue fullwidth-aware rendering.

--------------------------------------------------------------------------------
drkns 2021-06-03 23:29:55+01:00 - build 5812

1. Workarounds for EMenu positioning in Windows Terminal.

--------------------------------------------------------------------------------
drkns 2021-06-02 18:45:47+01:00 - build 5811

1. Sanitise C1 control characters in output.

2. Executor logic correction.

--------------------------------------------------------------------------------
drkns 2021-06-02 00:23:38+01:00 - build 5810

1. Continuation of 5809. Selection and cursor movements should work now, more or less.

2. gh-409: Far crashed when entering in shared folder (SMB).

--------------------------------------------------------------------------------
drkns 2021-05-30 22:44:55+01:00 - build 5809

1. Rudimentary experimental support for fullwidth-aware rendering (weebs & East Asian users, FYI).

--------------------------------------------------------------------------------
drkns 2021-05-30 17:00:38+01:00 - build 5808

1. gh-407: Rejecting elevation request when saving a file prevents from a further saving

--------------------------------------------------------------------------------
drkns 2021-05-29 20:07:34+01:00 - build 5807

1. Correction of 5806.2.

--------------------------------------------------------------------------------
drkns 2021-05-29 17:26:08+01:00 - build 5806

1. 0003866: Elevation shouldn't need SeDebugPrivilege.

2. Forum: "combobox looses unchanged state as soon as it becomes focused".

--------------------------------------------------------------------------------
drkns 2021-05-28 17:18:19+01:00 - build 5805

1. Correction of 4788.2: edit controls were incorrectly set to unchanged state after DM_SETTEXT.

2. 1 second timeout before triggeting the screensaver with a mouse to avoid flickering.

3. "[x] Clock in viewer and editor" removed. Clock is now displayed either everywhere or nowhere.

--------------------------------------------------------------------------------
drkns 2021-05-27 23:22:21+01:00 - build 5804

1. Experimental: removed constant polling from the main thread.
   This should noticeably reduce CPU consumption and make various idle events more predictable.

2. Experimental: reworked Find File dialog updating.
   This should make the search faster and make UI updates more predictable.

3. Optimisation of message transfer between threads.
   This should reduce the amount of locks and make things faster in various places.

4. More logging.

5. Minor refactoring.

--------------------------------------------------------------------------------
drkns 2021-05-27 17:18:25+01:00 - build 5803

1. Workaround for gh-404: hangs on exit in Windows XP SP3.

--------------------------------------------------------------------------------
drkns 2021-05-20 23:33:22+01:00 - build 5802

1. Two separate minidumps: normal (small) and full memory (huge).
   To make it easier to report issues.

--------------------------------------------------------------------------------
drkns 2021-05-19 18:46:33+01:00 - build 5801

1. Alpha blending performance optimisation.

--------------------------------------------------------------------------------
drkns 2021-05-19 00:00:00+01:00 - build 5800

1. Continuation of 5788: proper alpha blending.
   Available in files highlighting and editor selection colour.

--------------------------------------------------------------------------------
drkns 2021-05-16 15:31:41+01:00 - build 5799

1. Correction of 5776.

--------------------------------------------------------------------------------
drkns 2021-05-11 02:02:02+01:00 - build 5798

1. Continue the "SQLite vs nocase" saga. Now any related errors should be fixed automatically.

--------------------------------------------------------------------------------
drkns 2021-05-09 20:00:49+01:00 - build 5797

1. Experimental: since it's nearly impossible to teach the users that screenshots of the exception dialog are NOT useful for investigations,
   the aforementioned dialog now doesn't display any technical information at all.
   That information is now saved to a text file in the local profile, along with a minidump.

--------------------------------------------------------------------------------
drkns 2021-05-09 00:20:43+01:00 - build 5796

1. Exception handling improvements.

--------------------------------------------------------------------------------
drkns 2021-05-08 14:53:05+01:00 - build 5795

1. Correction of 5788 - visual artefacts during selection.

--------------------------------------------------------------------------------
drkns 2021-05-07 22:26:27+01:00 - build 5794

1. Typo in 5718.

--------------------------------------------------------------------------------
drkns 2021-05-06 20:50:34+01:00 - build 5793

1. Error handling improvements.

--------------------------------------------------------------------------------
w17 2021-05-05 23:06:45+03:00 - build 5792

1. -typo2

--------------------------------------------------------------------------------
w17 2021-05-05 19:19:34+03:00 - build 5791

1. -typo

--------------------------------------------------------------------------------
w17 2021-05-05 17:58:17+03:00 - build 5790

1. Correction 5733 (questionable)
   far:config Descriptions.ValidateConversion=true -- configurable description encoding validation.

--------------------------------------------------------------------------------
drkns 2021-05-04 18:08:14+01:00 - build 5789

1. SQLite exception due to outdated index after collation update.

2. Redirect SQLite logging to our logging.

--------------------------------------------------------------------------------
drkns 2021-05-02 11:28:04+01:00 - build 5788

1. Experimental: editor selection color can have transparent foreground/background.

2. More transparency to come: make sure you fill alpha channels in FarColor structures properly in API.

2. Multiple fixes related to color merging and processing.

3. Continuation of 5785.

4. SQLite diagnostic improvements.

5. Minor fixes in grabber.

--------------------------------------------------------------------------------
drkns 2021-04-30 17:24:37+01:00 - build 5787

1. Forum: Repeated rescan directory tree.

--------------------------------------------------------------------------------
drkns 2021-04-28 00:43:06+01:00 - build 5786

1. As it turned out, the sqlite unicode extension that we were using has a rather unorthodox notion of nocase collation.
   Quote: "automatically try to unaccent any characters that are over the 0x80 character", in other words it treats Ä, Á, Ą, Â, Ă as the same thing.
   Given that we only need nocase for case-insensitive, Windows-like file name lookup, this does more harm than good.
   The extension has been removed and nocase collation is now delegated to Windows.

2. Remove System.FlagPosixSemantics config parameter.

--------------------------------------------------------------------------------
drkns 2021-04-25 18:08:48+01:00 - build 5785

1. Add more "style" attributes: double underline, overline, strikeout, faint, blink.

2. Rework color dialog to support these attributes, as well as existing bold, italic, underline.
   Keep in mind that Far doesn't draw anything directly - to see all this luxury your terminal must support it.

3. Minor fixes to extended attributes processing.

4. Refactoring.

--------------------------------------------------------------------------------
drkns 2021-04-20 17:51:24+01:00 - build 5784

1. Correction of 5783.

--------------------------------------------------------------------------------
drkns 2021-04-20 17:21:48+01:00 - build 5783

1. 0003862: Preserve the description file code page.

--------------------------------------------------------------------------------
drkns 2021-04-16 01:54:01+01:00 - build 5782

1. By popular demand: history checkboxes in settings are now tri-state:
   in the third state the history records, simultaneously created by other Far instances, will be ignored.

--------------------------------------------------------------------------------
drkns 2021-04-14 00:49:16+01:00 - build 5781

1. Refactoring.

2. Warnings.

--------------------------------------------------------------------------------
drkns 2021-04-12 22:35:48+01:00 - build 5780

1. 0003860: file descriptions are not updated (access rights issue)

--------------------------------------------------------------------------------
drkns 2021-04-09 17:28:29+01:00 - build 5779

1. 0003859: Copying a file over itself leads to data loss.

2. Remove the <ACTL|DM>_<SUPPRESS|RESTORE>HISTORY commands, introduced in 5773.

--------------------------------------------------------------------------------
drkns 2021-04-07 17:30:06+01:00 - build 5778

1. Correction of 5776.

--------------------------------------------------------------------------------
drkns 2021-04-06 17:18:03+01:00 - build 5777

1. Correction of 5776.

--------------------------------------------------------------------------------
drkns 2021-04-05 12:44:10+01:00 - build 5776

1. An attempt to fix 0003856: Wrong file count in copy dialog.
   As usual, copying is a can of worms. Brace yourself.

2. Refactoring.

--------------------------------------------------------------------------------
svs 2021-04-04 10:00:00+03:00 - build 5775

1. SQLite 3.35.4

--------------------------------------------------------------------------------
drkns 2021-04-02 01:25:54+01:00 - build 5774

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2021-04-01 23:08:23+01:00 - build 5773

1. Experimental: view / edit history is now updated as soon as the file is opened instead of at exit.
   Shift+Enter in the history menu should work as intended now.

2. Experimental: folders history is now updated as soon as the folder is entered instead of at exit.
   Shift+Enter in the history menu should work as intended now.

3. Minor refactoring.

--------------------------------------------------------------------------------
drkns 2021-03-29 00:00:09+01:00 - build 5772

1. Error handling improvements.

--------------------------------------------------------------------------------
svs 2021-03-28 18:13:00+03:00 - build 5771

1. SQLite 3.35.3

--------------------------------------------------------------------------------
drkns 2021-03-26 23:07:38+00:00 - build 5770

1. 0003855: Cannot rename symlinks

--------------------------------------------------------------------------------
drkns 2021-03-25 22:23:45+00:00 - build 5769

1. gh-368: Cannot copy to network share (samba).

--------------------------------------------------------------------------------
drkns 2021-03-23 17:59:39+00:00 - build 5768

1. 0003853: Slow file copying

--------------------------------------------------------------------------------
drkns 2021-03-21 19:15:26+00:00 - build 5767

1. Another attempt to keep the main thread COM-free (most of the time).

--------------------------------------------------------------------------------
drkns 2021-03-21 15:03:52+00:00 - build 5766

1. Revert 5764.1 - the experiment wasn't successful.

--------------------------------------------------------------------------------
drkns 2021-03-21 03:40:44+00:00 - build 5765

1. 0003852: an alternative (and, hopefully, better) way to approximate truecolor to console index.

--------------------------------------------------------------------------------
drkns 2021-03-20 23:22:21+00:00 - build 5764

1. Move COM MTA initialisation into a separate thread to allow plugins to have STA in the main thread.

2. A few minor fixes.

--------------------------------------------------------------------------------
svs 2021-03-17 16:39:34+03:00 - build 5763

1. SQLite 3.35.1

--------------------------------------------------------------------------------
drkns 2021-03-16 23:05:27+00:00 - build 5762

1. Continuation of 5761.

--------------------------------------------------------------------------------
drkns 2021-03-15 18:31:13+00:00 - build 5761

1. Fix stack tracing on 2k/XP.

--------------------------------------------------------------------------------
svs 2021-03-14 23:34:34+03:00 - build 5760

1. SQLite 3.35.0

--------------------------------------------------------------------------------
drkns 2021-03-14 16:53:28+00:00 - build 5759

1. VS2019 & 2k/XP compatibility.

2. Reduce log spamming about absent imports for old OSes.

3. Replace \xNNNN character codes in sources with actual characters - we use UTF-8 now so nothing should get lost.

--------------------------------------------------------------------------------
drkns 2021-03-14 15:36:26+00:00 - build 5758

1. gh-371: fails to obtain administrator privileges

--------------------------------------------------------------------------------
drkns 2021-03-10 19:21:56+00:00 - build 5757

1. 0003850: Error running files from Google Drive

2. Refactoring.

--------------------------------------------------------------------------------
drkns 2021-03-06 22:30:25+00:00 - build 5756

1. Reduce log binary footprint.

2. Remove excessive logging.

--------------------------------------------------------------------------------
drkns 2021-03-05 21:02:33+00:00 - build 5755

1. gh-367: Reproducible exception related to regular expressions.

--------------------------------------------------------------------------------
drkns 2021-03-05 00:31:26+00:00 - build 5754

1. UCD can detect CJK charsets if the locale is CJK.

2. More logging.

3. Refactoring.

--------------------------------------------------------------------------------
drkns 2021-03-03 22:03:55+00:00 - build 5753

1. More logging.

2. Refactoring.

--------------------------------------------------------------------------------
drkns 2021-03-03 13:11:41+00:00 - build 5752

1. VS2017.

--------------------------------------------------------------------------------
drkns 2021-03-02 22:10:08+00:00 - build 5751

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2021-03-02 18:43:56+00:00 - build 5750

1. Further logging improvements.

--------------------------------------------------------------------------------
drkns 2021-03-01 20:19:18+00:00 - build 5749

1. More logging.

--------------------------------------------------------------------------------
drkns 2021-03-01 18:39:55+00:00 - build 5748

1. More logging.

--------------------------------------------------------------------------------
drkns 2021-03-01 15:26:17+00:00 - build 5747

1. Add the process ID to the log file name.

--------------------------------------------------------------------------------
drkns 2021-02-28 20:41:25+00:00 - build 5746

1. More logging.

--------------------------------------------------------------------------------
drkns 2021-02-28 13:18:47+00:00 - build 5745

1. Added more logging.

2. Log parameters can be changed after the start: update the environment variables as needed and run "far:log reconfigure".

3. Minor refactoring related to #1.

4. A workaround for 0003849: Exception during re-reading folder tree.

--------------------------------------------------------------------------------
drkns 2021-02-23 01:55:05+00:00 - build 5744

1. Fix a few issues in the previous build.

--------------------------------------------------------------------------------
drkns 2021-02-21 21:47:47+00:00 - build 5743

1. A new logging engine. Currently it can be configured via environment variables:

   - FAR.LOG.LEVEL:
     The log level. Can be one of the following values: "off", "fatal", "error", "warning", "notice", "info", "debug", "trace", "all".
     Default value: off

   - FAR.LOG.SINK:
     Log sink(s). Can contain one or more comma- or semicolon-separated values:
      - "debug": the system debugger.
      - "console": a new buffer in the same console window, available via the Ctrl+Shift+L hotkey or the "far:log" command.
      - "file": a text file with a unique name. The file's directory can be specified via FAR.LOG.SINK.FILE.PATH.
      - "pipe": similar to "console", but in a new window.

2. syslog.* and everything related to it removed.

3. Plugins cache:
   - Removed replacing of '\' with '/' (remnants of the Windows Registry days).
   - Only lower 32 bits of timestamps were checked (with potential collisions every ~7 minutes).

4. Skipping the file size in descriptions didn't work.

5. Added logging in quite a few places where it should be, more to come.

6. Minor refactoring related to #1.

--------------------------------------------------------------------------------
drkns 2021-02-16 19:46:10+00:00 - build 5742

1. Potential null pointer dereference in custom sort.

--------------------------------------------------------------------------------
drkns 2021-02-09 17:37:00+00:00 - build 5741

1. Always preserve Last Write Time when copying files.

--------------------------------------------------------------------------------
drkns 2021-02-04 19:06:02+00:00 - build 5740

1. Don't add Unicode BOM to file lists created with !@!.

--------------------------------------------------------------------------------
svs 2021-02-03 16:46:34+03:00 - build 5739

1. SQLite 3.34.1

--------------------------------------------------------------------------------
drkns 2021-02-02 01:49:01+00:00 - build 5738

1. Warnings, typos, cleanup.

--------------------------------------------------------------------------------
drkns 2021-01-30 23:18:23+00:00 - build 5737

1. 0003845: Relax "Compare Folders" time comparison precision.

--------------------------------------------------------------------------------
drkns 2021-01-30 17:18:13+00:00 - build 5736

1. Correction of 5735.

--------------------------------------------------------------------------------
drkns 2021-01-30 13:06:35+00:00 - build 5735

1. Forum: Modifier keys close the Fast Find.

--------------------------------------------------------------------------------
drkns 2021-01-30 00:37:49+00:00 - build 5734

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2021-01-27 18:59:03+00:00 - build 5733

1. Encoding validation for file lists created with !@!, descriptions and some other places.

2. Minor lng & hlf corrections.

--------------------------------------------------------------------------------
drkns 2021-01-26 11:53:23+00:00 - build 5732

1. gh-240: Temp file with list of selected file names has missing entries

--------------------------------------------------------------------------------
drkns 2021-01-23 21:25:01+00:00 - build 5731

1. Workaround for https://github.com/microsoft/terminal/issues/8866

--------------------------------------------------------------------------------
drkns 2021-01-14 17:50:34+00:00 - build 5730

1. 5728 once again.

--------------------------------------------------------------------------------
drkns 2021-01-13 20:41:29+00:00 - build 5729

1. Correction of 5728.

2. A few minor changes.

--------------------------------------------------------------------------------
drkns 2021-01-12 19:05:57+00:00 - build 5728

1. Restore cursor state after launching programs.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Восстановление состояния курсора после запуска программ.

--------------------------------------------------------------------------------
drkns 2021-01-12 01:05:24+00:00 - build 5727

1. More 5726.

--------------------------------------------------------------------------------
drkns 2021-01-10 22:39:41+00:00 - build 5726

1. AppExecLink reparse point support.

--------------------------------------------------------------------------------
drkns 2021-01-07 17:33:44+00:00 - build 5725

1. gh-335: BreakKeys fix for ansi plugins.

2. Restore ClearType-friendly redraw for Windows 10.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. gh-335: Исправление BreakKeys для ansi плагинов.

2. Вернем ClearType-friendly redraw для Windows 10.

--------------------------------------------------------------------------------
drkns 2021-01-06 18:54:47+00:00 - build 5724

1. Correction of 5604 to avoid conflicts with AltGr.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 5604 для избежания конфликтов с AltGr.

--------------------------------------------------------------------------------
drkns 2021-01-05 20:10:45+00:00 - build 5723

1. Another executor correction.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё одно уточнение в запускателе.

--------------------------------------------------------------------------------
drkns 2021-01-03 12:51:01+00:00 - build 5722

1. gh-315: [Feature request] far:config Using "Del" to reset an option.

--------------------------------------------------------------------------------
drkns 2020-12-30 08:24:39+00:00 - build 5721

1. Modules versions in exception information.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Версии модулей в информации об исключении.

--------------------------------------------------------------------------------
MZK 2020-12-26 16:10:32-08:00 - build 5720

1. `Alt+<Gray *>` inverts selection on files only, excluding folders.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. `Alt+<Gray *>` инвертирует пометку только на файлах, исключая папки.

--------------------------------------------------------------------------------
drkns 2020-12-24 00:22:43+00:00 - build 5719

1. gh-319: An undesirable navigation when Far Manager is being launched with a passed path.

--------------------------------------------------------------------------------
drkns 2020-12-18 12:17:39+00:00 - build 5718

1. Another executor correction.

2. System.QuotedName was ignored in Tree Panel.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё одно уточнение в запускателе.

2. System.QuotedName игнорировалось в панели дерева.

--------------------------------------------------------------------------------
drkns 2020-12-14 22:31:28+00:00 - build 5717

1. Another executor correction.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё одно уточнение в запускателе.

--------------------------------------------------------------------------------
drkns 2020-12-12 16:18:28+00:00 - build 5716

1. Correction of 5711.

--------------------------------------------------------------------------------
svs 2020-12-12 17:57:34+03:00 - build 5715

1. SQLite 3.34.0

--------------------------------------------------------------------------------
drkns 2020-12-11 00:01:03+00:00 - build 5714

1. Continuation of 5713.

--------------------------------------------------------------------------------
drkns 2020-12-10 02:30:20+00:00 - build 5713

1. Another attempt to workaround Windows 10 bugs (0003827 etc.).

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Еще одна попытка обойти баги Windows 10 (0003827 и т.п.).

2. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2020-12-09 08:34:58+00:00 - build 5712

1. Corrections of 5711.

--------------------------------------------------------------------------------
drkns 2020-12-08 23:31:46+00:00 - build 5711

1. gh-311: Wrong counter of copied bytes

2. Refactoring.

--------------------------------------------------------------------------------
yjh 2020-12-01 21:15:24+03:00 - build 5710

1. Another executor correction.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё одно уточнение в запускателе.

--------------------------------------------------------------------------------
drkns 2020-11-22 22:32:51+00:00 - build 5709

1. And again.

--------------------------------------------------------------------------------
drkns 2020-11-22 17:59:19+00:00 - build 5708

1. A few executor corrections.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Пара уточнений в запускателе.

--------------------------------------------------------------------------------
drkns 2020-11-22 01:28:27+00:00 - build 5707

1. Exception handling improvements.

--------------------------------------------------------------------------------
drkns 2020-11-16 22:47:34+00:00 - build 5706

1. gh-290 again: searching for the executable partially restored. Alas, there's no other way.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение gh-290: частично возвращен поиск запускаемого. Без этого никак, увы.

--------------------------------------------------------------------------------
drkns 2020-11-16 18:52:48+00:00 - build 5705

1. gh-290: New executor gives priority to folders over programs with the same name in PATH.

--------------------------------------------------------------------------------
drkns 2020-11-15 22:37:26+00:00 - build 5704

1. Increase the delay before removing the temporary files, created with !@!.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Увеличена задержка удаления временных файлов, создаваемых по !@!.

--------------------------------------------------------------------------------
drkns 2020-11-15 10:16:18+00:00 - build 5703

1. Executor logic correction.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение работы запускателя.

--------------------------------------------------------------------------------
drkns 2020-11-14 22:00:22+00:00 - build 5702

1. Experimental: reimplemented and simplifiled the executor (based on https://forum.farmanager.com/viewtopic.php?t=12275):
   - Removed searching for the executable - the OS knows better.
   - Removed System.Executor.UseAppPath and System.Executor.FullTitle.
   - Associations processing is disabled by default. Set System.Executor.UseAssociations to true to enable.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Экспериментально: переделан и упрощен запускатель (по мотивам https://forum.farmanager.com/viewtopic.php?t=12275):
   - Поиск запускаемого не производится - ОС видней.
   - System.Executor.UseAppPath и System.Executor.FullTitle больше нет.
   - Обработка ассоциаций отключена по умолчанию. Включается по System.Executor.UseAssociations = true.

2. Рефакторинг.

--------------------------------------------------------------------------------
yjh 2020-11-14 21:21:30+03:00 - build 5701

1. Add .msi to <arc> mask.

--------------------------------------------------------------------------------
drkns 2020-11-11 19:38:14+00:00 - build 5700

1. Correction of 5698.1 again.

--------------------------------------------------------------------------------
drkns 2020-11-08 19:45:32+00:00 - build 5699

1. Correction of 5698.1.

--------------------------------------------------------------------------------
drkns 2020-11-05 19:04:14+00:00 - build 5698

1. Experimental: reduce the number of executor parameters.

2. Add a list of loaded modules to exception information.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Экспериментально: уменьшим количество параметров запускателя.

2. В информацию об исключении добавлен список загруженных модулей.

--------------------------------------------------------------------------------
drkns 2020-11-03 15:55:05+00:00 - build 5697

1. In some cases some data coundn't be read from registry.

2. Executor logic correction.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В некоторых случаях не читались некоторые данные из реестра.

2. Уточнение работы запускателя.

--------------------------------------------------------------------------------
drkns 2020-10-28 00:18:12+00:00 - build 5696

1. Is some cases pointers to internal data were exposed to plugins.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В некоторых случаях плагинам отдавались указатели на внутренние данные.

--------------------------------------------------------------------------------
drkns 2020-10-27 20:48:41+00:00 - build 5695

1. Forum: if FarGetPluginPanelItem::Size is less than the required size, FCTL_GETPANELITEM will fill as much as possible.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: если FarGetPluginPanelItem::Size меньше требуемого размера, то FCTL_GETPANELITEM заполнит столько, сколько возможно.

--------------------------------------------------------------------------------
drkns 2020-10-27 00:25:27+00:00 - build 5694

1. 0003821 / gh-279: Redundant ampersand in the "Group of file masks" dialog title.

--------------------------------------------------------------------------------
drkns 2020-10-26 20:48:46+00:00 - build 5693

1. New versions of fmt, tinyxml2, Catch2.

--------------------------------------------------------------------------------
drkns 2020-10-26 18:02:12+00:00 - build 5692

1. Forum: 5688 freezes in disks menu if a network drive is not available.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: 5688 подвисает в меню дисков, если сетевой диск не доступен.

--------------------------------------------------------------------------------
drkns 2020-10-26 02:03:19+00:00 - build 5691

1. Correction of 5683.

--------------------------------------------------------------------------------
drkns 2020-10-25 20:54:39+00:00 - build 5690

1. 0003818: Infinite restart of .cmd batches via a double click and exiting using Ctrl-Break.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003818: Бесконечный перезапуск .cmd батчей через double-click и попытке выхода через Ctrl-Break

--------------------------------------------------------------------------------
drkns 2020-10-25 05:30:03+00:00 - build 5689

1. Fix clang build & warnings.

--------------------------------------------------------------------------------
drkns 2020-10-25 01:11:40+00:00 - build 5688

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2020-10-23 22:18:08+01:00 - build 5687

1. Exception handling:
   - intercept std::terminate
   - alternative stack retrieval
   - show registers.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Обработка исключений:
   - перехват std::terminate
   - альтернативный способ получения стека
   - вывод регистров.

--------------------------------------------------------------------------------
drkns 2020-10-22 22:17:27+01:00 - build 5686

1. Removed lng lines for single viewer/editor functional keys.
   They are the same anyway, and we can make the unavailabe buttons empty programmatically.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Удалены lng строки для single viewer/editor functional keys.
   Они все равно такие же, а пустые кнопки для недоступных действий мы можем сделать и программно.

--------------------------------------------------------------------------------
yogdg 2020-10-22 14:31:20-03:00 - build 5685

1. gh-247: Customizable number of bytes by line in hex viewer

--------------------------------------------------------------------------------
drkns 2020-10-21 17:46:37+01:00 - build 5684

1. gh-274: Editor: Selection isn't cleared on Ctrl+Home/End.

--------------------------------------------------------------------------------
drkns 2020-10-21 01:35:56+01:00 - build 5683

1. Mouse selection in input fields sometimes wasn't working as expected.

2. Corrections of mouse handling in other UI elements.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Выделение мышью в полях ввода могло работать неадекватно.

2. Уточнения обработки мыши в прочих элементах интерфейса.

--------------------------------------------------------------------------------
drkns 2020-10-19 07:52:23+01:00 - build 5682

1. Correction of 5681.

--------------------------------------------------------------------------------
drkns 2020-10-19 00:01:37+01:00 - build 5681

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2020-10-18 23:54:25+01:00 - build 5680

1. Correction of 5679.

--------------------------------------------------------------------------------
drkns 2020-10-18 23:32:51+01:00 - build 5679

1. gh-269: Apply variables to subsequent lines as well.

--------------------------------------------------------------------------------
drkns 2020-10-12 08:40:27+01:00 - build 5678

1. Correction of 5677.

--------------------------------------------------------------------------------
drkns 2020-10-12 00:12:45+01:00 - build 5677

1. Refactoring.

2. As it turns out, gnu ld maps are useless for stack tracing, so now objdump output is used instead.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг.

2. Как выяснилось, gnu ld maps бесполезны для stack tracing, поэтому теперь вместо них используется вывод objdump.

--------------------------------------------------------------------------------
yjh 2020-10-11 09:35:31+03:00 - build 5676

1. Add .lz,.tlz to <arc> mask.

--------------------------------------------------------------------------------
drkns 2020-09-30 17:31:32+01:00 - build 5675

1. gh-269: Feature Request: Reuse User Input tokens in F2 User Menu

--------------------------------------------------------------------------------
drkns 2020-09-28 20:03:38+01:00 - build 5674

1. Correction of 5672.

--------------------------------------------------------------------------------
bitraid 2020-09-28 13:00:01+01:00 - build 5673

1. gh-268: Enable saving state of unmounted volumes display

--------------------------------------------------------------------------------
drkns 2020-09-27 23:37:58+01:00 - build 5672

1. Disk menu can show not mounted volumes (Ctrl-H).

2. Minor corrections in handling of various non-standard paths.

3. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Меню дисков умеет показывать непримонтированные тома (Ctrl-H).

2. Мелкие уточнения обработки разнообразных нестандартных путей.

3. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2020-09-22 08:45:08+01:00 - build 5671

1. Copying from viewer didn't work properly.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Криво работало копирование из вьювера.

--------------------------------------------------------------------------------
drkns 2020-09-19 18:43:36+01:00 - build 5670

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2020-09-17 00:15:38+01:00 - build 5669

1. Continuation of 5667.

--------------------------------------------------------------------------------
drkns 2020-09-14 17:39:39+01:00 - build 5668

1. 0003819: Editor: crash when typing in alternate layout.

--------------------------------------------------------------------------------
drkns 2020-09-14 00:58:21+01:00 - build 5667

1. Switching exotic code pages didn't work as expected due to incorrectly set flags.

2. Added a manual roundtrip checking for the codepages that OS can't validate.

3. Refactoring.

4. Tests.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Криво работало переключение экзотических кодовых страниц из-за неправильно устанавливаемых флагов.

2. Добавлена ручная roundtrip-проверка для тех страниц, которые не умеет валидировать ОС.

3. Рефакторинг.

4. Тесты.

--------------------------------------------------------------------------------
zg 2020-09-14 01:03:19+03:00 - build 5666

1. surpress redraw under exception dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. подавление перерисовки под диалогом с исключениями.

--------------------------------------------------------------------------------
drkns 2020-09-12 02:02:02+01:00 - build 5665

1. Regex word search didn't work properly in some cases.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В некоторых случаях неправильно работал regex-поиск слов.

--------------------------------------------------------------------------------
drkns 2020-09-10 00:11:09+01:00 - build 5664

1. Corrections in exception handling.

2. Show system errors in SQLite exeptions.

3. Other minor things.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнения обработки исключений.

2. Отображение системных ошибок в исключениях SQLite.

3. Прочие мелочи.

--------------------------------------------------------------------------------
drkns 2020-09-06 23:00:00+01:00 - build 5663

1. Store binary data in exported configuration as base64.

2. Reading UTF-7 didn't work. At all.

3. Refactoring.

4. Tests.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Бинарные данные в экспортируемой конфигурации теперь хранятся как base64.

2. Чтение UTF-7 не работало. Совсем.

3. Рефакторинг.

4. Тесты.

--------------------------------------------------------------------------------
drkns 2020-09-01 17:48:03+01:00 - build 5662

1. Setting db key descriptions didn't work in some cases.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В некоторых случаях не работала установка описаний ключей бд.

--------------------------------------------------------------------------------
drkns 2020-08-31 23:01:01+01:00 - build 5661

1. Continuation of #3817.

2. VS2017.

--------------------------------------------------------------------------------
drkns 2020-08-31 19:18:12+01:00 - build 5660

1. Show the version in the UI as major.minor.build.revision, for compatibility with the OS and for the future.

2. Restore the /x parameter - disable exception handling (for ease of development and debugging).

3. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Версия в интерфейсе выводится как major.minor.build.revision, для совместимости с OS и на будущее.

2. Возвращен параметр /x - отключить обработку исключений (для удобства разработки и отладки).

3. Рефакторинг.

--------------------------------------------------------------------------------
zg 2020-08-28 03:38:58+03:00 - build 5659

1. forum: titles never shown in listbox with DIF_LISTNOBOX flag.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. с форума: никогда не показывать заголовки в листбоксе с флагом DIF_LISTNOBOX.

--------------------------------------------------------------------------------
drkns 2020-08-27 00:35:51+01:00 - build 5658

1. 0003817: F6 - Failed move file when volume is mounted to folder only

2. A few minor changes.

--------------------------------------------------------------------------------
drkns 2020-08-22 22:49:52+01:00 - build 5657

1. Sorting again: additional criteria direction can inherit the primary one.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Снова о сортировке: направление для дополнительных критериев может наследовать основное.

2. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2020-08-20 18:00:35+01:00 - build 5656

1. Correction of 5655.

--------------------------------------------------------------------------------
drkns 2020-08-19 22:29:34+01:00 - build 5655

1. Added a constant that defines the range of custom sort modes to Plugin API.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В Plugin API добавлена константа, определяющая диапазон кастомных сортировок.

--------------------------------------------------------------------------------
zg 2020-08-17 22:24:45+03:00 - build 5654

1. forum: empty DI_LIST's list in case in initial list all elements have flag LIF_HIDDEN.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. с форума: Пустой список DI_LIST-а, если исходном списке все строки - LIF_HIDDEN.

--------------------------------------------------------------------------------
drkns 2020-08-17 19:45:45+01:00 - build 5653

1. gh-263: Use ArcLite for .aab by default

--------------------------------------------------------------------------------
drkns 2020-08-16 01:04:27+01:00 - build 5652

1. 0003816: Incorrect text alignment in dialog separators.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003816: Смещение текста вправо на 1 символ при центрировании сепаратора.

2. Рефакторинг.

--------------------------------------------------------------------------------
svs 2020-08-15 18:34:34+03:00 - build 5651

1. SQLite 3.33.0

--------------------------------------------------------------------------------
drkns 2020-08-09 12:26:42+01:00 - build 5650

1. Ignore paths when sorting in panel modes without paths.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При сортировке в режимах панели без отображения путей пути игнорируются.

--------------------------------------------------------------------------------
drkns 2020-08-04 17:56:27+01:00 - build 5649

1. Forum: unnecessary privilege request

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: ненужный запрос привилегий

--------------------------------------------------------------------------------
drkns 2020-08-03 22:49:55+01:00 - build 5648

1. gh-262 AutoComplete popup does not show under Windows 10's Terminal

2. Refactoring.

--------------------------------------------------------------------------------
drkns 2020-07-30 19:00:15+01:00 - build 5647

1. Correction of 5646.

--------------------------------------------------------------------------------
drkns 2020-07-29 23:39:52+01:00 - build 5646

1. Refactoring.

2. gh-261 Mistake in help file
   Actually not.
   Ibid - added a couple of new user name display formats to Info Panel.

3. Clang analyzer warnings.

4. Rewritten the screensaver (why not).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг.

2. gh-261 Mistake in help file
   На самом деле нет.
   Там же - добавлена пара новых форматов отображения имени в Info Panel.

3. Clang analyzer warnings.

4. Переписан скринсейвер (а почему бы и нет).

--------------------------------------------------------------------------------
drkns 2020-07-22 01:35:45+01:00 - build 5645

1. Correction of 5643.

--------------------------------------------------------------------------------
drkns 2020-07-21 19:49:10+01:00 - build 5644

1. Minor correction of launcher logic.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Мелкое уточнение логики запускателя.

--------------------------------------------------------------------------------
drkns 2020-07-21 17:34:53+01:00 - build 5643

1. Continuation of 5631.1.

--------------------------------------------------------------------------------
drkns 2020-07-20 19:33:22+01:00 - build 5642

1. Keyboard tips in various menus are now generated by the code.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Подсказки по клавишам в различных меню теперь генерируются кодом.

--------------------------------------------------------------------------------
drkns 2020-07-19 01:44:02+01:00 - build 5641

1. Refactoring.

--------------------------------------------------------------------------------
MZK 2020-07-11 21:04:57-07:00

1. Translated remaining far:config help pages into English; cleaned up eng/TechInfo.txt.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Перевёл на английский оставшиеся страницы справки far:config; дочистил eng/TechInfo.txt.

--------------------------------------------------------------------------------
drkns 2020-07-11 02:48:48+01:00 - build 5640

1. Refactoring.

2. Glang with GNU toolchain can now be used for build.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг.

2. Для сборки теперь можно использовать Clang с GNU toolchain.

--------------------------------------------------------------------------------
drkns 2020-07-07 17:57:54+01:00 - build 5639

1. Continuation of 5631.1.

2. Refactoring.

--------------------------------------------------------------------------------
drkns 2020-07-06 18:56:37+01:00 - build 5638

1. New versions of fmt, tinyxml2, Catch2.

--------------------------------------------------------------------------------
drkns 2020-07-05 19:49:40+01:00 - build 5637

1. Continuation of 5370 - skip redundant scroll on startup.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 5370 - пропуск излишней прокрутки при запуске.

--------------------------------------------------------------------------------
drkns 2020-07-05 18:37:32+01:00 - build 5636

1. VS 2019 16.7 & GCC warnings.

--------------------------------------------------------------------------------
drkns 2020-07-05 15:10:15+01:00 - build 5635

1. Another attempt to workaround Windows 10 console host bugs.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Очередная попытка обхода багов Windows 10 console host.

--------------------------------------------------------------------------------
drkns 2020-07-04 13:30:24+01:00 - build 5634

1. Correction of 5598.

--------------------------------------------------------------------------------
drkns 2020-07-04 12:52:29+01:00 - build 5633

1. gh-250: Use ArcLite for .apk and .aar by default

--------------------------------------------------------------------------------
drkns 2020-07-04 02:32:19+01:00 - build 5632

1. C++20 warnings.

2. VS 2019 16.7 warnings.

3. A few minor optimisations of size formatting.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. C++20 warnings.

2. VS 2019 16.7 warnings.

3. Пара мелких оптимизаций форматирования размеров.

--------------------------------------------------------------------------------
drkns 2020-07-03 02:42:42+01:00 - build 5631

1. Continuation and improving of 5630.1:
   - Multiple sorting criteria can be defined permanently: Ctrl+F12, F4 on a mode, Ins/Del/CtrlUp/CtrlDown/CtrlR.
   - Default criteria replicate the previous behaviour.

2. Fixed old and new bugs in preserving selection on a panel update.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение и углубление 5630.1:
   - Множественные критерии сортировки можно определять перманентно: Ctrl+F12, F4 на режиме, Ins/Del/CtrlUp/CtrlDown/CtrlR.
   - По умолчанию определены критерии, повторяющие предыдущее поведение.

2. Исправлены новые и старые баги с сохранением выделения при обновлении панели.

--------------------------------------------------------------------------------
drkns 2020-07-02 01:07:47+01:00 - build 5630

1. Experimental:
   - File panels use stable sorting.
   - Sorting criteria don't fallback to file names.
   What does it mean:
   - Panel sorting preserves the current order of equivalent elements.
   What does it mean:
   - Various criteria can be applied sequentially.
     Example:
     Ctrl+F5, Ctrl+F6 - sort files by size, files of the same size - by modification time.

2. Experimental:
   - "Name" criterion renamed to "Only name".
   - "Full name" criterion renamed to "Name".
   No difference in normal panels, but should work faster.
   In plugin panels this is more sensible when full names are displayed.

3. Folders re-reading optimisation.

4. A few minor changes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Экспериментально:
   - В файловых панелях используется стабильная сортировка.
   - Критерии сортировки не используют имя файла в качестве запасного варианта.
   Что это значит:
   - Сортировка в панелях не изменяет текущий порядок эквивалентных элементов.
   Что это значит:
   - Различные критерии можно применять последовательно.
     Например:
     Ctrl+F5, Ctrl+F6 - сотрировать файлы по размеру, файлы одинакового размера - по времени записи.

2. Экспериментально:
   - Критерий "Имя" переименован в "Только имя".
   - Критерий "Полное имя" переименован в "Имя".
   В обычных панелях разницы нет, а работать будет быстрее.
   В плагиновых панелях это имеет больше смысла при отображении полных имён.

3. Оптимизация перечитывания папки.

4. Пара мелочей.

--------------------------------------------------------------------------------
drkns 2020-06-29 20:22:06+01:00 - build 5629

1. Ejecting a CD with Panel.RememberLogicalDrives enabled had funny effects.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Извлечение CD при включенной опции Panel.RememberLogicalDrives приводило к забавным эффектам.

--------------------------------------------------------------------------------
drkns 2020-06-27 15:01:02+01:00 - build 5628

1. Correction of 5627.

--------------------------------------------------------------------------------
drkns 2020-06-26 22:44:22+01:00 - build 5627

1. Forum: A strange revert of the previous user filter selection after editing.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: Странный автовозврат предыдущей пометки фильтра пользователя после редактирования.

2. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2020-06-24 17:33:33+01:00 - build 5626

1. 0003804: "Save file position" option doesn't work in editor and viewer.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003804: Не работает опция "сохранять позицию файла" в редакторе и просмотрщике.

--------------------------------------------------------------------------------
drkns 2020-06-21 22:47:28+01:00 - build 5625

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2020-06-20 18:27:17+01:00 - build 5624

1. Continuation of 3449 - bypassing Recycle Bin is possible on any errors, since the OS returns arbitrary errors in general.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 3449 - удаление в обход корзины доступно при любых ошибках, т.к. ОС в общем случае возвращает что попало.

--------------------------------------------------------------------------------
svs 2020-06-19 00:24:34+03:00 - build 5623

1. SQLite 3.32.3

--------------------------------------------------------------------------------
drkns 2020-06-17 19:50:37+01:00 - build 5622

1. Copy progress dialog correctly shows times over 100 hours.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Диалог прогресса копирования корректно отображает времена более 100 часов.

--------------------------------------------------------------------------------
drkns 2020-06-17 08:40:49+01:00 - build 5621

1. Fix typo in 5620.

--------------------------------------------------------------------------------
drkns 2020-06-17 01:01:01+01:00 - build 5620

1. Incorrect flags processing in DialogBuilder.

2. Corrections of codepage switching error messages.

3. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Некорректная обработка флагов в DialogBuilder.

2. Уточнения сообщений об ошибках переключения кодовых страниц.

3. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2020-06-16 02:25:55+01:00 - build 5619

1. Correction of 5618.

--------------------------------------------------------------------------------
drkns 2020-06-15 21:22:23+01:00 - build 5618

1. Incorrect CD drive type detection in some cases.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В некоторых случаях некорректно определялся тип CD-привода.

2. Рефакторинг.

--------------------------------------------------------------------------------
shmuel 2020-06-09 16:37:06+03:00 - build 5617

1. Revert 5613.

--------------------------------------------------------------------------------
svs 2020-06-08 20:49:34+03:00 - build 5616

1. SQLite 3.32.2

--------------------------------------------------------------------------------
drkns 2020-06-01 02:05:40+01:00 - build 5615

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2020-05-30 20:22:00+01:00 - build 5614

1. FarDlgBuilder.hpp doesn't depend on DlgBuilder.hpp anymore.
   DlgBuilder.hpp is now only used by plugins.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Убрана зависимость FarDlgBuilder.hpp от DlgBuilder.hpp.
   DlgBuilder.hpp теперь используется только в плагинах.

--------------------------------------------------------------------------------
shmuel 2020-05-30 19:39:20+03:00 - build 5613

1. Experimentally: do not hide progress windows (e.g. copy progress) during macro execution.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Экспериментально: не будем прятать окошки прогресса (например, копирования) при исполнении макроса.

--------------------------------------------------------------------------------
drkns 2020-05-29 18:57:47+01:00 - build 5612

1. File descriptions weren't removed in some cases.

2. Refactoring.

3. Warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В некоторых случаях не удалялись описания файлов.

2. Рефакторинг.

3. Warnings.

--------------------------------------------------------------------------------
svs 2020-05-27 21:30:18+03:00 - build 5611

1. SQLite 3.32.1

--------------------------------------------------------------------------------
drkns 2020-05-26 08:45:08+01:00 - build 5610

1. Correction of 5608.

--------------------------------------------------------------------------------
svs 2020-05-26 10:38:50+03:00 - build 5609

1. SQLite 3.32.0

--------------------------------------------------------------------------------
drkns 2020-05-25 16:27:26+01:00 - build 5608

1. Incorrect symlink creation.

2. Incorrect display of network drives in attributes dialog.

3. Refactoring. Removed a lot of copy-paste.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Некорректно создавались символические ссылки.

2. В диалоге атрибутов некорректно отображались сетевые диски.

3. Рефакторинг. Выкинуто много копипасты.

--------------------------------------------------------------------------------
drkns 2020-05-24 20:53:25+01:00 - build 5607

1. New versions of fmt, tinyxml2, Catch2.

2. Warnings.

--------------------------------------------------------------------------------
drkns 2020-05-24 02:04:04+01:00 - build 5606

1. Correction of 5599 once more.

2. Ignore spaces before / after far:config and far:about.

3. A few minor optimisations.

4. Unit tests preserve the clipboard.

5. Remove the disclaimer from this file. Update it along with everything else, it's not that hard.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 5599 еще раз.

2. Игнорирование пробелов перед / после far:config и far:about.

3. Пара мелких оптимизаций.

4. Юнит-тесты не очищают буфер обмена.

5. Убран дисклеймер из changelog_eng. Обновляйте его вместе со всем остальным, это не так сложно.

--------------------------------------------------------------------------------
zg 2020-05-21 14:52:59+03:00 - build 5605

1. first DN_GOTFOCUS could contain outdated information.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. первый DN_GOTFOCUS приходил не всегда с актуальной информацией.

--------------------------------------------------------------------------------
drkns 2020-05-19 20:35:17+01:00 - build 5604

1. gh-242: Far2 CtrlAltShift behavior

--------------------------------------------------------------------------------
zg 2020-05-18 23:28:13+03:00 - build 5603

1. revert 5601.

--------------------------------------------------------------------------------
drkns 2020-05-18 18:13:57+01:00 - build 5602

1. Correction of 5599.

--------------------------------------------------------------------------------
zg 2020-05-18 17:08:41+03:00 - build 5601

1. experimental: new event SE_FOLDERCHANGED, sent when changing the current directory in panels.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. экспериментально: новое событие SE_FOLDERCHANGED, приходит асинхронно при смене текущей папки в панелях.

--------------------------------------------------------------------------------
drkns 2020-05-17 17:56:00+01:00 - build 5600

1. Refactoring.

2. Tests.

--------------------------------------------------------------------------------
drkns 2020-05-16 02:22:20+01:00 - build 5599

1. Refactoring.

2. Warnings.

--------------------------------------------------------------------------------
drkns 2020-05-15 18:05:22+01:00 - build 5598

1. Request credentials when traversing network paths.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Запрос имени & пароля при переходам по сетевым путям.

--------------------------------------------------------------------------------
drkns 2020-05-13 23:46:30+01:00 - build 5597

1. Refactoring.

2. Corrections of 5592.

3. Warnings.

--------------------------------------------------------------------------------
drkns 2020-05-04 20:12:47+03:00 - build 5596

1. Correction of 5592.

--------------------------------------------------------------------------------
zg 2020-05-04 14:50:25+03:00 - build 5595

1. forum: combobox allows to position the cursor outside the text boundaries.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. с форума: Комбобокс позволяет установить курсор за пределы текста.

--------------------------------------------------------------------------------
MZK 2020-05-02 23:48:24-07:00

1. Translated more far:config help pages into English.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Перевёл на английский ещё несколько страниц справки far:config.

--------------------------------------------------------------------------------
drkns 2020-05-02 12:56:48+03:00 - build 5594

1. Correction of 5592.

--------------------------------------------------------------------------------
drkns 2020-05-02 02:54:39+03:00 - build 5593

1. Continue 5592 - simplify copying files & setting attributes.

2. Remove splitting files from copying.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 5592 - упрощение копирования файлов и установки атрибутов.

2. Из копирования убрано разрезание файлов.

--------------------------------------------------------------------------------
drkns 2020-04-30 20:15:13+03:00 - build 5592

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2020-04-23 22:40:18+02:00 - build 5591

1. gh-233: Panel.SetPosIdx makes hidden Panel visible

--------------------------------------------------------------------------------
drkns 2020-04-21 20:12:46+03:00 - build 5590

1. Switching the code page breaks the editor state in some cases.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В некоторых случаях переключение кодовой страницы могло портить состояние редактора.

--------------------------------------------------------------------------------
drkns 2020-04-19 22:19:47+03:00 - build 5589

1. gh-237: set command is too strict with whitespace

--------------------------------------------------------------------------------
drkns 2020-04-16 20:14:43+03:00 - build 5588

1. Exception dialog: look for symbols in the crashed plugin's directory.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Диалог исключения: поиск символов в папке упавшего плагина.

--------------------------------------------------------------------------------
drkns 2020-04-15 22:27:36+03:00 - build 5587

1. Experimental UTF-8 converter extension to support the full UCS-2 range, including unpaired surrogates.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Экспериментальное расширение UTF-8 конвертера для поддержки полного диапазона UCS-2, включая непарные суррогаты.

--------------------------------------------------------------------------------
drkns 2020-04-15 02:08:30+03:00 - build 5586

1. Continuation of 5585.

--------------------------------------------------------------------------------
drkns 2020-04-14 22:38:19+03:00 - build 5585

1. As it turned out, the wonderful SQLite library wonderfully works with UTF16, namely:
   - converts the passed strings to UTF8, replacing any failures with 0xfffd.
   - looks for BOM in the passed strings to decide whether it's LE or BE.
   Maybe it's reasonable in some cloud cuckoo land, but definitely not in our case.
   All this luxury can't be turned off, so now we convert to UTF8 manually.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Как выяснилось, прекрасная библиотека SQLite прекрасно работает с UTF16, а именно:
   - конвертирует переданные строки в UTF8, при этом заменяя на 0xfffd всё, что не получилось.
   - пытается искать BOM в переданных строках и угадывать по нему, это LE или BE.
   Может быть это и уместно в какой-то сказочной стране, но точно не в нашем случае.
   Так как вся эта роскошь не отключается - будем конвертировать в UTF8 самостоятельно.

2. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2020-04-13 00:07:06+03:00 - build 5584

1. Private flags of ansi plugins panel items weren't preserved.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не сохранялись приватные флаги элементов панелей ansi плагинов.

--------------------------------------------------------------------------------
zg 2020-04-12 14:24:14+03:00 - build 5583

1. 0003703: Colorer: invisible dialog on log creation error.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003703: Colorer: невидимый диалог при ошибке создания лога.

--------------------------------------------------------------------------------
drkns 2020-04-12 14:01:23+03:00 - build 5582

1. Exception dialog:
   - Show plugin name, version, description, author
   - Add "Copy" button (for those who are not aware of Ctrl+C)
   - "Terminate" button is always available.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Диалог исключения:
   - Показываем имя, версию, описание, автора плагина
   - Добавлена кнопка "Copy" (для тех, кто не в курсе о Ctrl+C)
   - Кнопка "Terminate" доступна всегда.

--------------------------------------------------------------------------------
drkns 2020-04-11 15:21:20+03:00 - build 5581

1. Extend the "Interface / console icon" option - now it's possible to choose which one to use.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Расширена опция "Interface / console icon" - теперь можно выбрать, что именно использовать.

2. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2020-04-07 02:46:13+03:00 - build 5580

1. Changed the format of filter flags in the database (to make further changes possible - keeping blobs was not the best idea).
   Reading of the old format is still supported for compatibility.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Изменён формат флагов фильтров в базе данных (задел на будущее - хранить блобы было не самой лучшей идеей).
   В целях совместимости пока поддерживается чтение старого формата.

--------------------------------------------------------------------------------
yjh 2020-04-03 12:03:46+03:00 - build 5579

1. New option Panel.ReverseSortCharCompat - when set, the sorting indicator behaves like in Far 1 & 2.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Добавлена настройка Panel.ReverseSortCharCompat - при установке её
   в true отображение обратных режимов сортивоки происходит так же как
   в Far2/Far1 (маленька буква обратный порядок, большая - прямой).

--------------------------------------------------------------------------------
drkns 2020-03-28 15:58:39+02:00 - build 5578

1. Refactoring.

2. Minimum GCC version - 8.1.

--------------------------------------------------------------------------------
drkns 2020-03-26 19:19:19+02:00 - build 5577

1. New versions of fmt, tinyxml2, Catch2.

--------------------------------------------------------------------------------
drkns 2020-03-26 00:44:00+02:00 - build 5576

1. Correction of 5570 - the plugins cache might work incorrectly.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 5570 - кеш плагинов мог работать некорректно.

--------------------------------------------------------------------------------
drkns 2020-03-24 01:10:31+02:00 - build 5575

1. gh-45: Editor: A very strange bug in cursor positioning.

2. Correction of 5554: visual artefacts after resizing the console.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. gh-45: Editor: Очень странный баг позиции курсора

2. Уточнение 5554 - визуальные артефакты при изменении размеров консоли.

--------------------------------------------------------------------------------
drkns 2020-03-22 16:09:56+02:00 - build 5574

1. Possible stack corruption when switching the main menu with a mouse.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Можно было испортить стек, переключая главное меню мышью.

--------------------------------------------------------------------------------
drkns 2020-03-22 13:47:01+02:00 - build 5573

1. More about unicode & debugging.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё на тему юникода и отладки.

--------------------------------------------------------------------------------
drkns 2020-03-22 12:46:20+02:00 - build 5572

1. A few corrections of 5571.

--------------------------------------------------------------------------------
drkns 2020-03-22 01:25:01+02:00 - build 5571

1. 0003313: FCTL_SETPANELDIRECTORY not working for certain types of paths.

2. Search results could sometimes include results of the previous search.

3. Use unicode DbgHelp functions (if available).

4. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003313: FCTL_SETPANELDIRECTORY not working for certain types of paths.

2. Результаты поиска могли иногда включать результаты предыдущего поиска.

3. Используются юникодные функции DbgHelp (если есть).

4. Рефакторинг.

--------------------------------------------------------------------------------
MZK 2020-03-11 23:03:40-07:00

1. Translated more far:config help pages into English; cleaned up eng/TechInfo.txt.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Перевёл на английский ещё несколько страниц справки far:config; почистил eng/TechInfo.txt.

--------------------------------------------------------------------------------
drkns 2020-03-11 18:14:35+00:00 - build 5570

1. A bit of magic to make the wow64 hook work in VS2019.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Немного магии для работы wow64 хука в VS2019.

2. Рефакторинг.

--------------------------------------------------------------------------------
zg 2020-03-10 00:35:41+02:00 - build 5569

1. crash in SettingsControl if the setting name is nullptr.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. падение в SettingsControl, если в качестве названия настройки передать nullptr.

--------------------------------------------------------------------------------
drkns 2020-03-07 22:21:15+00:00 - build 5568

1. Refactoring.

2. More tests.

3. Continuation of 5567.

--------------------------------------------------------------------------------
MZK 2020-03-07 12:45:31-08:00

1. Revised @System.CopySecurityOptions help page, both English and Russian.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Переработал страницу справки @System.CopySecurityOptions, английскую и русскую.

--------------------------------------------------------------------------------
drkns 2020-03-07 18:03:21+00:00 - build 5567

1. Forum: opening large files in editor is too slow after 5527.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: начиная с билда 5527 стало тормозить открывание больших файлов редактором.

--------------------------------------------------------------------------------
drkns 2020-03-02 22:55:22+00:00 - build 5566

1. Correction of 5564.

--------------------------------------------------------------------------------
drkns 2020-03-02 19:36:15+00:00 - build 5565

1. gh-221: Help for MkTemp is out of date or something is broken

--------------------------------------------------------------------------------
drkns 2020-03-01 21:34:45+00:00 - build 5564

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2020-02-24 20:56:50+00:00 - build 5563

1. Refactoring.

2. Clang warnings.

--------------------------------------------------------------------------------
zg 2020-02-24 14:44:36+02:00 - build 5562

1. correction of 5561.

--------------------------------------------------------------------------------
zg 2020-02-18 19:59:14+02:00 - build 5561

1. crash in FCTL_GETUSERSCREEN.

--------------------------------------------------------------------------------
drkns 2020-02-17 18:09:59+00:00 - build 5560

1. Forum: User Menu and panels flickering.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: UserMenu и мерцание панелей.

--------------------------------------------------------------------------------
drkns 2020-02-17 01:36:09+00:00 - build 5559

1. Correction of 5558.4.

--------------------------------------------------------------------------------
drkns 2020-02-15 20:30:40+00:00 - build 5558

1. Remove thread priority overriding.

2. Remove XLat tables from the code, there's default.farconfig for that.

3. Buffer overflow on pasting into an edit field win an input mask.

4. Other refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Убрано ручное переопределение приоритета.

2. Убрано добавление таблиц XLat из кода, для этого default.farconfig.

3. Выход за границу буфера при вставке в поле ввода с маской.

4. Прочий рефакторинг.

--------------------------------------------------------------------------------
drkns 2020-02-09 10:28:30+00:00 - build 5557

1. Apply 5556.1 to plugin panels as well (#0003675).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Применим 5556.1 и к плагиновым панелям (#0003675).

--------------------------------------------------------------------------------
drkns 2020-02-09 00:11:22+00:00 - build 5556

1. Correction of 5514 - already filtered out extensions were unavailable in autofilters.

2. Corrections of disks and filters menu rendering for some corner cases.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 5514 - в автофильтрах были недоступны уже отфильтрованные расширения.

2. Уточнения отображения меню дисков и фильтров для некоторых вычурных случаев.

--------------------------------------------------------------------------------
drkns 2020-02-07 21:55:55+00:00 - build 5555

1. New versions of fmt and Catch2.

--------------------------------------------------------------------------------
drkns 2020-02-07 21:43:51+00:00 - build 5554

1. Refactoring.

2. More tests.

3. Potential leaks in RestoreScreen & FreeScreen.

4. Please note that any new fields in API structures should be added at the end only.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг.

2. Больше тестов.

3. Потенциальные утечки в RestoreScreen & FreeScreen.

4. Пожалуйста, имейте в виду, что любые новые поля в структурах API должны добавляться исключительно в конец.

--------------------------------------------------------------------------------
shmuel 2020-02-07 21:48:51+02:00 - build 5553

1. Function FreeScreen added to the plugins API.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В API плагинов добавлена функция FreeScreen.

--------------------------------------------------------------------------------
drkns 2020-02-02 23:59:59+00:00 - build 5552

1. Refactoring.

--------------------------------------------------------------------------------
zg 2020-02-03 00:46:01+02:00 - build 5551

1. correction of 5542.

--------------------------------------------------------------------------------
svs 2020-01-29 12:51:16+03:00 - build 5550

1. SQLite 3.31.1

--------------------------------------------------------------------------------
drkns 2020-01-25 22:32:20+00:00 - build 5549

1. Possible rubbish in time field when creating a new filter.

2. A few minor changes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При создании фильтра в поле времени мог попадать мусор.

2. Пара мелочей.

--------------------------------------------------------------------------------
svs 2020-01-23 16:42:03+03:00 - build 5548

1. SQLite 3.31.0

--------------------------------------------------------------------------------
zg 2020-01-21 23:24:24+02:00 - build 5547

1. correction of 5542.

--------------------------------------------------------------------------------
drkns 2020-01-18 00:59:59+00:00 - build 5546

1. Refactoring.

--------------------------------------------------------------------------------
MZK 2020-01-05 20:56:58-08:00

1. Translated more far:config help pages into English; cleaned up eng/TechInfo.txt.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Перевёл на английский ещё несколько страниц справки far:config; почистил eng/TechInfo.txt.

--------------------------------------------------------------------------------
zg 2020-01-02 10:03:36+02:00 - build 5545

1. Correction of 5544.

--------------------------------------------------------------------------------
zg 2020-01-02 03:19:09+02:00 - build 5544

1. Crash on deleting an item from history #219.

--------------------------------------------------------------------------------
zg 2019-12-30 15:54:05+02:00 - build 5543

1. Correction of 5542.

--------------------------------------------------------------------------------
zg 2019-12-30 04:29:53+02:00 - build 5542

1. Experimental: DN_LISTCHANGE is delivered to regular menus.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. экспериментально: DN_LISTCHANGE приходит в обычные меню.

--------------------------------------------------------------------------------
drkns 2019-12-29 14:31:00+02:00 - build 5541

1. Continuation of 5540.

--------------------------------------------------------------------------------
drkns 2019-12-28 21:08:45+02:00 - build 5540

1. Show platform and SCM revision in Exception Dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Показываем платформу и SCM revision в диалоге исключения.

--------------------------------------------------------------------------------
drkns 2019-12-27 19:20:00+02:00 - build 5539

1. Ctrl+C works in Exception Dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В диалоге иключения работает Ctrl+C.

--------------------------------------------------------------------------------
drkns 2019-12-27 10:45:14+02:00 - build 5538

1. Continuation of 5534 once more.

--------------------------------------------------------------------------------
drkns 2019-12-27 02:56:14+02:00 - build 5537

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2019-12-25 13:19:27+02:00 - build 5536

1. Correction of 5523.

--------------------------------------------------------------------------------
drkns 2019-12-24 19:25:57+02:00 - build 5535

1. Continuation of 5534 - an attempt to correctly process some corner cases, e.g. empty menus or menus without borders.

2. Show the most nested exception first.

3. Minor refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 5534 - попробуем корректно обрабатывать всякие дивные случаи типа пустых меню или меню без рамок.

2. При отображении исключений показываем сначала наиболее глубокое.

3. Мелкий рефакторинг.

--------------------------------------------------------------------------------
zg 2019-12-24 02:04:54+02:00 - build 5534

1. continuation of 5530.2: minimal menu size is 8x5.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. продолжение 5530.2: размер меню не может быть меньше 8x5.

--------------------------------------------------------------------------------
drkns 2019-12-23 19:22:00+02:00 - build 5533

1. Forum: "Unexpected current file when opening a panel". A prehistoric bug.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: "Неожиданный текущий файл при запуске панели". Доисторический баг.

--------------------------------------------------------------------------------
drkns 2019-12-20 18:58:10+00:00 - build 5532

1. Forum: Alt+<Gray +> doesn't select files without extension.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: Alt+<Gray +> не выделяет на панели файлы без расширения

--------------------------------------------------------------------------------
drkns 2019-12-20 17:22:58+00:00 - build 5531

1. 0003758: Crash after F3 on .. in plugin panel.

2. Correction of 5530.2.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003758: Падение Фара при нажатии F3 на .. в панели плагина.

2. Уточнение 5530.2.

--------------------------------------------------------------------------------
zg 2019-12-20 05:17:48+02:00 - build 5530

1. DM_RESIZEDIALOG: sizes that are smaller than 1 are treated as 1. same as 5267.

2. crash if a menu hotkey was outside the menu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. DM_RESIZEDIALOG: при указании размеров меньше 1 они считаются равными 1. аналогично 5267.

2. падение, если хоткей в меню оказывался за пределами меню.

--------------------------------------------------------------------------------
drkns 2019-12-18 00:03:08+00:00 - build 5529

1. 0003757: far:config menu enters inconsistent state

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003757: Меню far:config входит в нерабочее состояние

--------------------------------------------------------------------------------
drkns 2019-12-16 21:38:49+00:00 - build 5528

1. Opening editor with an empty file name via API gives funny results.
   All this magic about ?New File? is bad, really bad.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Открывая через API редактор с пустым именем файла можно было получить забавные результаты.
   Всё это шаманство с ?New File? - это плохо, очень плохо.

--------------------------------------------------------------------------------
drkns 2019-12-14 23:03:49+00:00 - build 5527

1. 5524 - attempt #2, now with tests.

2. Other refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 5524 - попытка №2, теперь с тестами.

2. Прочий рефакторинг.

--------------------------------------------------------------------------------
drkns 2019-12-12 08:03:42+00:00 - build 5526

1. Partial revert of 5524.

--------------------------------------------------------------------------------
drkns 2019-12-11 17:37:34+00:00 - build 5525

1. Correction of 5524.

--------------------------------------------------------------------------------
drkns 2019-12-11 01:29:03+00:00 - build 5524

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2019-12-08 23:12:53+00:00 - build 5523

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2019-12-07 23:25:55+02:00 - build 5522

1. Minor refactoring.

--------------------------------------------------------------------------------
drkns 2019-12-07 01:00:47+00:00 - build 5521

1. New fmt and Catch2 versions.

--------------------------------------------------------------------------------
drkns 2019-12-06 20:56:17+00:00 - build 5520

1. GCC build and warnings.

--------------------------------------------------------------------------------
drkns 2019-12-06 18:23:09+00:00 - build 5519

1. 0003755: Ctrl-H is slow in Code pages list
   Same in Task list.

2. Task list: mark the current task and other refactoring.

3. More logical wrapping in DIF_WORDWRAP.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003755: Тормозит Ctrl-H в списке Code pages
   То же самое в списке задач.

2. Cписок задач: пометка текущего окна и прочий рефакторинг.

3. Более логичная свёртка в DIF_WORDWRAP.

--------------------------------------------------------------------------------
drkns 2019-12-04 18:28:22+00:00 - build 5518

1. Removed UI time separation to milliseconds and ticks, now it's just ticks.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Убрано разделение времени в UI на миллисекунды и такты, теперь просто такты.

2. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2019-12-04 17:44:18+00:00 - build 5517

1. And once more.

--------------------------------------------------------------------------------
drkns 2019-12-04 09:13:12+00:00 - build 5516

1. Correction of 5514.

--------------------------------------------------------------------------------
drkns 2019-12-03 08:04:01+00:00 - build 5515

1. Correction of 5514.

--------------------------------------------------------------------------------
drkns 2019-12-02 23:24:22+00:00 - build 5514

1. Wild things in autofilters:
   - the extensions list was read from the FS instead of the panel, causing slowness in network folders
   - with a lucky stars arrangement it was posible to get untoggleable filters.
   A lot of changes, strange things could happen.

2. Wild things in ampersand shortcuts handling: keys didn't work sometimes, menu scrolling was incorrect, copypaste and so on.
   A lot of changes, strange things could happen.

3. More tolerant loading of filters, highlight, panel modes - not until the first failure, but as much as possible.
   A lot of changes, strange things could happen.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В автофильтрах творилась дичь:
   - список расширений брался не с панели, а с ФС, что приводило к тормозам в сетевых папках
   - при удачном расположении звёзд можно было получить неотключаемые фильтры.
   Много изменений, возможны чудеса.

2. В обработке ampersand shortcuts творилась дичь: иногда не работали клавиши, криво работала прокрутка в меню, копипаста и т.д и т.п.
   Много изменений, возможны чудеса.

3. Более толерантная загрузка фильтров, раскраски, режимов панели - не до первой неудачи, а пока есть, что загружать.
   Много изменений, возможны чудеса.

--------------------------------------------------------------------------------
drkns 2019-11-26 21:09:23+00:00 - build 5513

1. Copying files from panels to clipboard reassigned to Ctrl+Shift+C. Ctrl+C goes into the command line as before.

2. Added cutting files from panels to clipboard via Ctrl+Shift+X.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Копирование файлов с панелей в буфер обмена перенесено на Ctrl+Shift+C. Ctrl+C уходит в комстроку, как раньше.

2. Добавлено вырезание файлов с панелей в буфер обмена по Ctrl+Shift+X.

--------------------------------------------------------------------------------
drkns 2019-11-21 20:56:02+00:00 - build 5512

1. M#0003470: Option "[ ] Detect virtual disks" for Disks menu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#0003470: Опция "[ ] Определять виртуальные диски" для меню дисков.

--------------------------------------------------------------------------------
drkns 2019-11-20 00:55:00+00:00 - build 5511

1. Continuation of 1771.2 or 9 years later: second attempt to fix Backspace/Del madness in DIF_MASKEDIT.

2. A few minor changes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 1771.2 или 9 лет спустя: вторая попытка починить дичь с Backspace/Del в DIF_MASKEDIT.

2. Пара мелочей.

--------------------------------------------------------------------------------
drkns 2019-11-18 22:58:30+00:00 - build 5510

1. Forum: Del doesn't work in Autocomplete

--------------------------------------------------------------------------------
drkns 2019-11-16 19:18:17+00:00 - build 5509

1. Add "[ ] Preserve timestamps" option to Copy dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В диалог копирования добавлена опция "[ ] Preserve timestamps".

--------------------------------------------------------------------------------
drkns 2019-11-10 16:42:35+00:00 - build 5508

1. Correction of 5506.

--------------------------------------------------------------------------------
drkns 2019-11-10 10:18:04+00:00 - build 5507

1. Continuation of 5506 for [x] Use system copy routine.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 5506 и для [x] Use system copy routine.

--------------------------------------------------------------------------------
drkns 2019-11-09 21:25:47+00:00 - build 5506

1. File copying preserves creation and access times. Unconditionally for now. Shout if you need an option.

2. Detach of virtual disks didn't work in some cases.

3. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Копирование файлов сохраняет времена создания и доступа. Пока безусловно. Если нужна опция - кричите.

2. Не работало отключение виртуальных дисков в определённых ситуациях.

3. Рефакторинг.

--------------------------------------------------------------------------------
shmuel 2019-11-09 15:06:08+02:00 - build 5505

1. API-function Menu() - added flag FMENU_NODRAWSHADOW.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. API-функция Menu() - добавлен флаг FMENU_NODRAWSHADOW.

--------------------------------------------------------------------------------
shmuel 2019-11-07 12:15:11+02:00 - build 5504

1. API-function Menu() - added flags for control of visibility and appearance of menu borders.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. API-функция Menu() - добавлены флаги для управления показом и видом рамки меню.

--------------------------------------------------------------------------------
MZK 2019-11-04 23:29:26-08:00

1. Translated more far:config help pages into English; cleaning up eng/TechInfo.txt.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Перевёл на английский ещё несколько страниц справки far:config; почистил eng/TechInfo.txt.

--------------------------------------------------------------------------------
shmuel 2019-10-31 19:29:22+02:00 - build 5503

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2019-10-30 22:24:15+02:00 - build 5502

1. M#3748: Panel.Item: return value when given incorrect parameters

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#3748: Panel.Item: возвращаемое значение при некорректных параметрах

--------------------------------------------------------------------------------
shmuel 2019-10-30 14:47:08+02:00 - build 5501

1. Keyboard macros could not be deleted or edited after 5496.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. После 5496 перестали удаляться и редактироваться клавиатурные макросы.

--------------------------------------------------------------------------------
shmuel 2019-10-28 23:30:53+02:00 - build 5500

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2019-10-28 20:59:35+02:00 - build 5499

1. As this case is not mentioned in the docs MacroAddMacro::SequenceText is allowed
   to be an empty string. An empty string is a valid script.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Поскольку в документации данный случай не оговорен, MacroAddMacro::SequenceText может быть
   пустой строкой. Пустая строка - это валидный скрипт.

--------------------------------------------------------------------------------
drkns 2019-10-26 14:40:42+01:00 - build 5498

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2019-10-25 18:08:44+01:00 - build 5497

1. Continuation of 1053.2 - apply the workaround to the initial INPUT_RECORD as well - it might fall into plugins' hands.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 1053.2 - распространим костыль и на исходный INPUT_RECORD - он может попасть в руки плагинам.

--------------------------------------------------------------------------------
drkns 2019-10-24 11:12:59+01:00 - build 5496

1. Correction of 5495.

2. Minor refactoring to avoid such issues in future.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 5495.

2. Мелкий рефакторинг дабы избежать подобного в дальнейшем.

--------------------------------------------------------------------------------
drkns 2019-10-24 02:04:06+01:00 - build 5495

1. Show Far and OS versions in the exception dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Показываем версии Far и ОС в диалоге исключения.

--------------------------------------------------------------------------------
zg 2019-10-23 22:20:01+03:00 - build 5494

1. after 5024 the Mouse2002 plugin hang on a mouse selection. workaround.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. после 5024 плагин Mouse2002 зависал при выделении мышью. костыль.

--------------------------------------------------------------------------------
shmuel 2019-10-21 11:29:48+02:00 - build 5493

1. Panel.Item(X,Idx,10) - property 'SortGroup' - returns again a number rather than a boolean.
   Returning a boolean was a bug.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Panel.Item(X,Idx,10) - свойство 'SortGroup' - снова возвращает число, а не булевую величину.
   Возврат булевой величины был багом.

--------------------------------------------------------------------------------
shmuel 2019-10-20 13:03:24+02:00 - build 5492

1. Revert 5490: this change will be done in plugin LuaMacro.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Откат 5490: это изменение будет сделано в плагине LuaMacro.

--------------------------------------------------------------------------------
drkns 2019-10-20 00:07:00+01:00 - build 5491

1. Workaround for incorrect mouse coordinates when wheels are moved.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Workaround для неправильных координат мыши при вращении колёс.

--------------------------------------------------------------------------------
shmuel 2019-10-19 18:22:32+02:00 - build 5490

1. Panel.Item(X,Idx,8) and Panel.Item(X,Idx,10) given invalid Idx returned 0 now they return false.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Panel.Item(X,Idx,8) и Panel.Item(X,Idx,10) при невалидном Idx возвращали 0, теперь false.

--------------------------------------------------------------------------------
drkns 2019-10-19 14:36:42+01:00 - build 5489

1. Continuation of 5481 once more.

2. A few minor changes.

--------------------------------------------------------------------------------
drkns 2019-10-17 20:02:51+01:00 - build 5488

1. Refactoring.

2. When displaying the UI '\x9b' character is replaced with '\x203a', because '\x9b' is CSI.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг.

2. При выводе UI '\x9b' заменяется на '\x203a', т.к. '\x9b' - это CSI.

--------------------------------------------------------------------------------
svs 2019-10-14 08:38:17+03:00 - build 5487

1. SQLite 3.30.1

--------------------------------------------------------------------------------
drkns 2019-10-11 13:47:00+01:00 - build 5486

1. Revert of 5472, 4523, 4521 - Ctrl+Enter, Ctrl+[ and friends add a backslash to paths again.
   In case of quotes the backslash will be put inside, e.g. "C:\some path\", same as before.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Откат 5472, 4523, 4521 - Ctrl+Enter, Ctrl+[ и прочие вновь добавляют backslash к путям.
   При наличии кавычек backslash будет внутри - "С:\some path\", как раньше.

--------------------------------------------------------------------------------
drkns 2019-10-07 22:24:49+01:00 - build 5485

1. Refactoring.

2. Warnings.

--------------------------------------------------------------------------------
svs 2019-10-07 15:28:54+03:00 - build 5484

1. SQLite 3.30.0

--------------------------------------------------------------------------------
drkns 2019-10-06 10:09:55+01:00 - build 5483

1. Continuation of 5481 - odd bugs.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 5481 - полезли нечётные баги.

--------------------------------------------------------------------------------
drkns 2019-10-06 01:13:54+01:00 - build 5482

1. Correction of 5481.

--------------------------------------------------------------------------------
drkns 2019-10-05 23:31:53+01:00 - build 5481

1. Refactoring.

2. More const.

3. More tests.

4. Warnings.

--------------------------------------------------------------------------------
drkns 2019-10-03 19:42:28+01:00 - build 5480

1. 0003742: Far incorrectly (?) passes names longer than 259 symbols to other programs.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003742: Far неправильно (?) передает другим программам пути файлов длиной >259 символов

--------------------------------------------------------------------------------
drkns 2019-10-02 18:22:31+01:00 - build 5479

1. Forum: lua:=mf.fsplit("\\\\SERVER\\share",1) doesn't work after 5211.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: в 5211 сломалось lua:=mf.fsplit("\\\\SERVER\\share",1)

--------------------------------------------------------------------------------
drkns 2019-09-24 19:31:14+01:00 - build 5478

1. Correction of 5225 - UTF-8 detection doesn't work in some cases.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 5225 - в некоторых случаях не работало распознавание UTF-8.

--------------------------------------------------------------------------------
MZK 2019-09-23 19:41:13-07:00 - build 5477

1. Translated more far:config help pages into English and started cleaning up eng/TechInfo.txt.

2. Cosmetic change to Options::CmdlineSettings().

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Перевёл на английский ещё несколько страниц справки far:config и начал чистить eng/TechInfo.txt.

2. Косметика в Options::CmdlineSettings().

--------------------------------------------------------------------------------
drkns 2019-09-18 08:15:51+01:00 - build 5476

1. Continuation of 5475.

--------------------------------------------------------------------------------
drkns 2019-09-17 22:46:48+01:00 - build 5475

1. Incorrect console text scrolling & restoring if the buffer is wider than the window.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Некорректная прокрутка и восстановление текста консоли, если буфер шире окна.

--------------------------------------------------------------------------------
drkns 2019-09-16 22:31:11+01:00 - build 5474

1. Correction of menu separators rendering.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение отображения разделителей в меню.

--------------------------------------------------------------------------------
drkns 2019-09-15 13:47:00+01:00 - build 5473

1. Vector representation of Far.ico (16, 24, 32, 48).
   Can be rendered to any size, with effects etc.
   Icons in the resources are recreated from the vector, added a few new versions.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Векторная репрезентация Far.ico (16, 24, 32, 48).
   Можно рендерить в любой размер, применять эффекты и т.д.
   ico в ресурсах перегенерированы из вектора, добавлена пара новых вариантов.

--------------------------------------------------------------------------------
drkns 2019-09-10 19:06:31+01:00 - build 5472

1. 0003011: Ctrl+Enter works wrong for ".." for case if path have spaces
   0003178: Incorrect position of closing quotation mark (") in full folder path
   0003198: Incorrect current folder path insertion
   0003200: Inconsistent behaviour of Ctrl+F on a regular folder and on ".."
   0003211: Redundant "\" when inserting a path from a panel
   0003700: Ctrl+enter in panel returns bad path: backslash out of quotes
   ...and probably more.
   As the number of reports suggests, inserting the slash after the quotation mark wasn't a good idea.
   However, inserting it before is not a good idea either (see #0003011), so now it's not inserted anywhere at all.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003011: Ctrl+Enter works wrong for ".." for case if path have spaces
   0003178: Неверное расположение завершающей двойной кавычки (") при получении полного пути к папке
   0003198: Неверная вставка текущей папки
   0003200: Неоднообразное поведение по Ctrl+F на "нормальной папке" и на ".."
   0003211: лишний "\" при вставке пути из панели
   0003700: Ctrl+enter in panel resurns bad path: backslash out of qoutes
   ...и наверное ещё.
   Как намекает количество репортов, вставлять слеш после кавычки было не очень удачным решением.
   Однако, вставлять его до - тоже не очень удачное решение (см. #0003011), поэтому теперь он не вставляется вообще.

--------------------------------------------------------------------------------
drkns 2019-09-09 19:18:40+01:00 - build 5471

1. Correction of 5437.

--------------------------------------------------------------------------------
zg 2019-09-08 21:10:55+03:00 - build 5470

1. crash at exit if opening of a modal editor was interrupted.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. при прерывании открытия модального редактора падение при выходе из фара.

--------------------------------------------------------------------------------
drkns 2019-09-07 15:06:49+01:00 - build 5469

1. fmt 6.0.0.

2. tinyxml2 7.1.0.

3. Catch2 2.9.2.

4. A few minor changes.

--------------------------------------------------------------------------------
drkns 2019-09-06 20:22:44+01:00 - build 5468

1. Forum: Search in viewer: [x] Whole words doesn't work if [x] Case sensitive is set.
   Actually the issue was much deeper and wider.

2. Forum: error setting file access rights.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Поиск в Просмотрщике (Viewer): не учитывается [x] Whole words, если выставлено [x] Case sensitive
   На самом деле проблема была сильно глубже и шире.

2. С форума: Ошибка установки прав доступа к файлу

--------------------------------------------------------------------------------
MZK 2019-09-05 22:12:53-07:00

1. Translated more far:config help pages into English.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Перевёл на английский ещё несколько страниц справки far:config.

--------------------------------------------------------------------------------
zg 2019-09-05 00:41:46+03:00 - build 5467

1. separate GUIDs for the dialogs to copy/move the file under cursor.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. отдельные гуиды для диалогов копирования/перемещения файла под курсором.

--------------------------------------------------------------------------------
drkns 2019-09-04 22:10:32+01:00 - build 5466

1. Continuation of 5464: in "!&" and "!&~" quoting is now on by defaut and can be disabled with 'q' modifier.

2. Minor refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 5464: "!&" и "!&~" окавычивание теперь по умолчанию и отключается модификатором 'q'.

2. Мелкий рефакторинг.

--------------------------------------------------------------------------------
drkns 2019-09-03 23:19:24+01:00 - build 5465

1. 0003736: Can't update file descriptions on a network drive.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003736: Невозможно изменить описание файла на сетевом диске

--------------------------------------------------------------------------------
drkns 2019-09-03 01:01:01+01:00 - build 5464

1. Experimental:
   - Metasymbols "!&" and "!&~" support "Q" modifier - "enclose names in quotes".
   - "Q" modifier in "!@!" and "!$!" now adds quotes unconditionally.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Экспериментально:
   - В метасимволах "!&" и "!&~" поддерживается модификатор "Q" - "заключать имена в кавычки".
   - В метасимволах "!@!" и "!$!" модификатор "Q" теперь добавляет кавычки безусловно.

--------------------------------------------------------------------------------
drkns 2019-09-02 21:09:11+01:00 - build 5463

1. Initialise COM as multithreaded, it seems to be more correct in our case.

2. Continuation of 5457.

3. Titles for far:config dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Инициализируем COM как multithreaded, вроде бы так правильнее в нашем случае.

2. Продолжение 5457.

3. Заголовки для диалога far:config.

--------------------------------------------------------------------------------
drkns 2019-09-01 20:26:46+01:00 - build 5462

1. Correction of 5448.2.

--------------------------------------------------------------------------------
zg 2019-09-01 13:53:23+03:00 - build 5461

1. visual artefacts in search results dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. визуальные артефакты в диалоге результатов поиска.

--------------------------------------------------------------------------------
drkns 2019-09-01 11:23:07+01:00 - build 5460

1. GCC 9.2.

2. Clang warnings.

--------------------------------------------------------------------------------
drkns 2019-08-28 21:55:48+01:00 - build 5459

1. Continuation of 5457.

--------------------------------------------------------------------------------
drkns 2019-08-28 17:03:39+01:00 - build 5458

1. A few workarounds to support Coverity.

2. Coverity warnings.

--------------------------------------------------------------------------------
drkns 2019-08-27 20:24:52+01:00 - build 5457

1. Forum: Improve out of the box keyboard navigation.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: Улучшения клавиатурной навигации в стандартной поставке

--------------------------------------------------------------------------------
drkns 2019-08-26 20:15:37+01:00 - build 5456

1. 0003735: Attribute Dialog: wrong focus for symlinks (correction of 5455).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003735: Attribute Dialog: разный фокус для symlink-папок (уточнение 5455).

--------------------------------------------------------------------------------
drkns 2019-08-25 22:22:22+01:00 - build 5455

1. It is known that time in Windows is measured in 100-ns intervals.
   In Attributes dialog all times were rounded to milliseconds, including those that weren't touched.
   From information security perspective this is an obvious footprint, so now the dialog exposes everything till the last tick.
   Same for filters and panels.

2. Rarely used attributes moved into a separate dialog.

3. Other cnahges in Attributes dialog:
   - Removed more copy-pasted code.
   - Unified the logic of attributes, dates and owners processing when switching "Process subfolders" and during the initial dialog population.

4. Attribute letters and their order are more or less in sync with Windows.

5. Forum: the folder of a first found file is not visible in a repeated search.

6. More types in far.natvis.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Как известно, время в Windows измеряется в 100-ns интервалах.
   В диалоге установки атрибутов все времена округлялись до миллисекунд, включая те, которые не трогали.
   С точки зрения информационной безопасности это явное палево, поэтому теперь диалог раскрывает всё до последнего тика.
   Аналогично в фильтрах и панелях.

2. Редкоиспользуемые атрибуты вынесены в отдельный диалог.

3. Прочие изменения в диалоге атрибутов:
   - Убрана еще куча копипасты.
   - Унифицирована логика обработки атрибутов, дат и владельцев при переключении "Process subfolders" и при начальном заполнении диалога.

4. Буквы и порядок атрибутов в панелях более-менее приведены в соответствие с Windows.

5. С форума: при повторном поиске каталог первого найденного файла не отображается.

6. Больше типов в far.natvis.

--------------------------------------------------------------------------------
MZK 2019-08-24 21:04:41-07:00

1. Translated more far:config help pages into English.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Перевёл на английский ещё несколько страниц справки far:config.

--------------------------------------------------------------------------------
drkns 2019-08-22 23:34:45+01:00 - build 5454

1. Refactoring.

2. Minor optimisation of mapped network drives enumeration.

3. More types in far.natvis.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг.

2. Мелкая оптимизация опроса mapped network drives.

3. Больше типов в far.natvis.

--------------------------------------------------------------------------------
drkns 2019-08-22 23:21:59+01:00 - build 5453

1. 0003733: Associations db lock blocks all other Far instances.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003733: блокируется работа всех инстансов фара, если залочена база ассоциаций.

--------------------------------------------------------------------------------
drkns 2019-08-18 15:08:42+01:00 - build 5452

1. Support FILE_ATTRIBUTE_RECALL_ON_OPEN, FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS, FILE_ATTRIBUTE_STRICTLY_SEQUENTIAL attributes. Because we can.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Поддержка атрибутов FILE_ATTRIBUTE_RECALL_ON_OPEN, FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS, FILE_ATTRIBUTE_STRICTLY_SEQUENTIAL. Потому что можем.

--------------------------------------------------------------------------------
drkns 2019-08-16 23:06:24+01:00 - build 5451

1. Crash when importing malformed xml.

2. Fix GCC 7 build. Broken for a long time and no one said a word, time to stop supporting it?

3. Clang warnings.

4. Compile hook_wow64.cpp as everything else and modernise it a little.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Падение при импорте кривых xml.

2. Исправлена сборка в GCC 7. Поломано уже давно и все молчат, пора прекращать поддержку?

3. Clang warnings.

4. Компилируем hook_wow64.cpp так же, как и всё остальное, ну и обновим его немного.

--------------------------------------------------------------------------------
MZK 2019-08-12 22:51:26-07:00

1. Translated several far:config help pages into English.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Перевёл на английский несколько страниц справки far:config.

--------------------------------------------------------------------------------
drkns 2019-08-11 19:02:00+01:00 - build 5450

1. Compare folders:
   - Optimisation of time comparison on FAT systems.
   - Time comparison for some reason worked with reduced precision not only on FAT.

2. Updated some commented code and replaced "#if 0" with "if constexpr (false)" where possible.

3. Removed "Sort by custom data" from the UI - it does nothing for the last 5 years.

4. Warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Compare folders:
   - Оптимизация сравнения времени на FAT-системах.
   - Сравнение времени зачем-то работало с пониженной точностью для всего подряд, а не только для FAT.

2. Обновлён некоторый закомментированный код. "#if 0" по возможности заменено на "if constexpr (false)".

3. Из интерфейса удалено "Sort by custom data", т.к. оно ничего не делает уже 5 лет.

4. Warnings.

--------------------------------------------------------------------------------
drkns 2019-08-09 22:23:24+01:00 - build 5449

1. Drop some existing Windows 10 workarounds and add some new (#2366).
   Every day I love this OS more and more.

2. Correction of 5433 for those who want to press buttons fancifully.

3. Warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Удаляем одни костыли для Windows 10 и добавляем другие (#2366).
   Я люблю эту ОС всё больше и больше с каждым днём.

2. Уточнение 5433 для желающих вычурно нажимать кнопки.

3. Warnings.

--------------------------------------------------------------------------------
drkns 2019-08-08 19:39:35+01:00 - build 5448

1. 0003717: #5411 should be optional

2. 0003730: Incorrect access rights after saving a file.

3. Support for a plethora of new reparse tags.

4. A little black magic for VS2019 build to work in Win2k.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003717: #5411 should be optional

2. 0003730: Неверные права доступа к файлу, сохранённому из Редактора

3. Поддержка кучи новых reparse tags.

4. Немного чёрной магии, чтобы VS2019 билд мог запускаться в Win2k.

--------------------------------------------------------------------------------
drkns 2019-08-07 22:16:22+01:00 - build 5447

1. Correction of 5418.

--------------------------------------------------------------------------------
drkns 2019-08-07 20:01:30+01:00 - build 5446

1. 0003729: Preserve encryption of system files after editing.

2. Same for copying.

3. Removed some copy-pasted code.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003729: Зашифрованный файл (+S+E) в папке (-E) сохраняется редактором как незашифрованный

2. То же самое в копировании.

3. Убрано немного копипасты.

--------------------------------------------------------------------------------
drkns 2019-08-07 00:44:00+01:00 - build 5445

1. Hex-viewer in UTF-16 mode shows hex as everywhere else - as bytes.
   The code page affects only the text part.
   Before: "0000000048: 006C 0061 007A 0079 │ 0020 0064 006F 0067  lazy dog"
   After:  "0000000048: 6C 00 61 00 7A 00 79 00 │ 20 00 64 00 6F 00 67 00  lazy dog"

2. Correction of 5441 - no need to request elevation when reading a directory.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Hex-viewer в режиме UTF-16 показывает hex как везде - байтами.
   Кодовая страница влияет только на отображение текстовой части.
   Было:  "0000000048: 006C 0061 007A 0079 │ 0020 0064 006F 0067  lazy dog"
   Стало: "0000000048: 6C 00 61 00 7A 00 79 00 │ 20 00 64 00 6F 00 67 00  lazy dog"

2. Уточнение 5441 - запросы повышения прав не нужны при чтении папки.

--------------------------------------------------------------------------------
drkns 2019-08-05 23:24:36+01:00 - build 5444

1. Move Grabber help to a separate topic.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Справка по грабберу вынесена в отдельный топик.

--------------------------------------------------------------------------------
shmuel 2019-08-04 03:04:52+02:00 - build 5443

1. Load macros before the first panels update in order to immediately show content-columns defined in macro-files.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Загружаем макросы до первого обновления панелей, чтобы сразу отображались контент-колонки, заданные в макрофайлах.

--------------------------------------------------------------------------------
drkns 2019-08-02 20:14:49+01:00 - build 5442

1. Forum: F9 -> Options -> File panel modes -> Ins -> crash.

--------------------------------------------------------------------------------
drkns 2019-08-02 01:32:31+01:00 - build 5441

1. It should be possible to pass access rights through elevation.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Права доступа должны корректно протаскиваться через elevation.

--------------------------------------------------------------------------------
zg 2019-07-31 14:28:50+03:00 - build 5440

1. Forum: Cosmetic defects of positioning in filtered list.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. с форума: Косметические дефекты позиционирования в отфильтрованном списке.

--------------------------------------------------------------------------------
drkns 2019-07-31 01:27:30+01:00 - build 5439

1. Continuation of 5438 - improve error handling.

--------------------------------------------------------------------------------
drkns 2019-07-31 00:47:04+01:00 - build 5438

1. Copy option "Inherit access rights" was inadequate: copying the access rights from the parent folder is not "inheriting" in any way. And it has always been like that.

2. Everything else there related to access rights was inadequate as well.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В копировании неадекватно работала опция "Inherit access rights": копирование прав родительской папки - это ни разу не "наследование". Причём так было всегда.

2. Всё остальное там же, связанное с правами доступа, тоже не отличалось адекватностью.

--------------------------------------------------------------------------------
drkns 2019-07-29 22:50:07+01:00 - build 5437

1. Continuation of 5435.

--------------------------------------------------------------------------------
drkns 2019-07-28 19:35:59+01:00 - build 5436

1. Forum: Long <title> strings in !?<title>?<init>! don't fit into the dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: Длинные строки <title> в !?<title>?<init>! выползают за границы диалога.

--------------------------------------------------------------------------------
drkns 2019-07-28 14:41:29+01:00 - build 5435

1. Moving a symlink with [x] Copy contents of symbolic links or over a network could suddenly delete files in the folder it was pointing to.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Перенос симлинка с [x] Copy contents of symbolic links или по сети мог внезапно удалять файлы в папке, на которую он показывал.

--------------------------------------------------------------------------------
drkns 2019-07-28 01:27:05+01:00 - build 5434

1. SCM revision in far:about.

2. Manually built versions are marked as Private by default.

3. Other clarifications of displaying versions in the UI.

4. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. SCM revision в far:about.

2. Версии, собранные вручную, по умолчанию помечаются как Private.

3. Прочие уточнения вывода версии в интерфейсе.

4. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2019-07-23 19:23:43+01:00 - build 5433

1. VK_DECIMAL is not always the same as '.'.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. VK_DECIMAL не всегда то же самое, что и '.'.

--------------------------------------------------------------------------------
drkns 2019-07-23 07:20:01+01:00 - build 5432

1. Correction of 5429.

--------------------------------------------------------------------------------
drkns 2019-07-22 23:46:59+01:00 - build 5431

1. Correction of 5429.

2. Minor improvements in the leak detector.

3. After creating a minidump show where exactly the file is saved (or not saved).

4. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 5429.

2. Мелкие улучшения детектора утечек памяти.

3. После создания минидампа показываем, куда именно сохранён (или не сохранён) файл.

4. Рефакторинг.

--------------------------------------------------------------------------------
zg 2019-07-23 01:28:35+03:00 - build 5430

1. Correction of 5428.

--------------------------------------------------------------------------------
drkns 2019-07-22 21:20:03+01:00 - build 5429

1. Plugin data leaks when searching on a plugin panel.

2. Stack overflow in the search in some cases.

3. Cancelling the search discards the rest of the queued messages now.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Утечки плагиновых данных при поиске на плагиновой панели.

2. Переполнение стека при поиске в некоторых случаях.

3. При отмене поиска не пытаемся пропихнуть остатки очереди сообщений в диалог.

--------------------------------------------------------------------------------
zg 2019-07-22 05:02:32+03:00 - build 5428

1. Don't redraw panels while searching.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. при поиске панели не перерисовываются.

--------------------------------------------------------------------------------
drkns 2019-07-21 17:27:47+01:00 - build 5427

1. GitHub #161: Tabs in descript.ion.

--------------------------------------------------------------------------------
drkns 2019-07-15 23:59:59+01:00 - build 5426

1. Removed a horrible pile of copypasted code from setattr & fileattr. Consequences are possible.

2. The "unchanged text" state didn't work properly in fixed width edit controls.

3. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Удалена жуткая куча копипасты из setattr & fileattr. Возможны последствия.

2. Состояние "unchanged text" криво работало для фиксированных строк ввода.

3. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2019-07-14 14:41:42+01:00 - build 5425

1. F3 in Command History shows where the command was executed from.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. F3 в истории команд показывает, откуда была исполнена команда.

2. Рефакторинг.

--------------------------------------------------------------------------------
svs 2019-07-12 17:21:37+03:00 - build 5424

1. SQLite 3.29.0

--------------------------------------------------------------------------------
drkns 2019-07-11 01:13:31+01:00 - build 5423

1. In code pages menu, take into account that in Windows 10 ANSI and OEM can be UTF-8.

2. Panel.Tree.TurnOffCompletely option does not suppress keybar labels anymore.

3. Clarification of *.lng.custom loading order.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В меню кодовых страниц учитывается, что в Windows 10 ANSI и OEM могут быть UTF-8.

2. Опция Panel.Tree.TurnOffCompletely больше не подавляет надписи на панели клавиш.

3. Уточнение порядка загрузки *.lng.custom.

--------------------------------------------------------------------------------
drkns 2019-07-10 07:52:22+01:00 - build 5422

1. Continuation of 5420.

--------------------------------------------------------------------------------
drkns 2019-07-09 17:26:58+01:00 - build 5421

1. Continuation of 5420.

--------------------------------------------------------------------------------
drkns 2019-07-08 23:41:11+01:00 - build 5420

1. Refactoring.

2. Minor help corrections.

--------------------------------------------------------------------------------
MZK 2019-07-07 16:21:47-07:00

1. Translated the @ElevationDlg help page into English.

2. Fixed description of the /title command line switch.

3. Minor corrections in help files.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Перевёл страницу справки @ElevationDlg на английский.

2. Подправил описание параметра /title командной строки.

3. Мелкие уточнения в файлах справки.

--------------------------------------------------------------------------------
lunakid 2019-07-05 12:27:39+01:00 - build 5419

1. GitHub #157: Allow reusing the original title via %Default in -title

--------------------------------------------------------------------------------
drkns 2019-06-30 12:38:34+01:00 - build 5418

1. Refactoring.

--------------------------------------------------------------------------------
MZK 2019-06-29 00:15:09-07:00

1. Revised @ViewerSettings and @ViewerMode help pages, both English and Russian

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Переработал страницы справки @ViewerSettings и @ViewerMode, английскую и русскую

--------------------------------------------------------------------------------
drkns 2019-06-23 22:35:33+01:00 - build 5417

1. Correction of 5416.

--------------------------------------------------------------------------------
drkns 2019-06-21 20:40:14+01:00 - build 5416

1. Support FILE_ATTRIBUTE_PINNED and FILE_ATTRIBUTE_UNPINNED attributes.

2. Move attributes in filters & highlight/sorting groups dialogs to a separate dialog - it's not possible to squeeze more into the main one.

3. UI for names of highlight/sorting groups.

4. Show no more than 3 checked and 3 unchecked attributes in filters & highlight/sorting groups menus for the same reason.

5. Fix minor bugs in dialogs.

6. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Поддержка атрибутов FILE_ATTRIBUTE_PINNED и FILE_ATTRIBUTE_UNPINNED.

2. Атрибуты в диалогах фильтров & групп раскраски/сортировки вынесены в отдельный диалог, т.к. в основной пихать уже некуда.

3. Интерфейс для имён групп раскраски/сортировки.

4. В меню фильтров & групп раскраски/сортировки отображается не более 3 включенных и 3 выключенных атрибутов по той же причине.

5. Исправлены мелкие баги в диалогах.

6. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2019-06-19 20:18:11+01:00 - build 5415

1. And again.

--------------------------------------------------------------------------------
drkns 2019-06-15 09:27:46+01:00 - build 5414

1. 5411 once more.

--------------------------------------------------------------------------------
drkns 2019-06-14 17:10:17+01:00 - build 5413

1. Continuation of 5411:
   - Take into account that the user can insidiously change the current directory after opening Editor.
   - Save hardlinks directly to not break them.

2. As it turned out, updating descriptions in ANSI plugins (e.g. Multiarc) never worked.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 5411:
   - Учтём, что пользователь может коварно сменить текущий каталог после открытия редактора.
   - Хардлинки сохраняем напрямую, чтобы не разрывать.

2. Как выяснилось, обновление описаний в ANSI плагинах (e.g. Multiarc) не работало никогда.

--------------------------------------------------------------------------------
drkns 2019-06-13 10:40:47+01:00 - build 5412

1. Correction of 5409.

--------------------------------------------------------------------------------
drkns 2019-06-13 01:49:25+01:00 - build 5411

1. Based on 0003712: Far crashes when saving a file and the file content is lost:
   we indeed use not the safest possible way to save files.
   Now in Editor (and also when saving descriptions and user menu) we write into a new file
   and then replace the old one with it using ReplaceFileW.

2. Since ReplaceFileW allows to create backups with truly indescribable ease, let's use it:
   If Editor.CreateBackups is enabled in far:config - Editor will create .bak files when saving.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. По мотивам 0003712: При сохранении файла происходит краш фара и файл обретает нулевую длину:
   сохранять так, как мы сохраняем, действительно, не очень хорошо.
   Теперь в редакторе (а также при сохранении файлов описаний и user menu) запись выполняется в новый файл,
   которым затем заменяется старый при помощи ReplaceFileW.

2. Т.к. ReplaceFileW умеет с легкостью, поистине неописуемой, создавать резервные копии - воспользуемся этим:
   Если в far:config включить Editor.CreateBackups - редактор будет создавать .bak файлы при сохранении.

--------------------------------------------------------------------------------
drkns 2019-06-08 22:27:51+01:00 - build 5410

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2019-06-07 22:46:34+01:00 - build 5409

1. Eject didn't work for some USB sticks.

2. Refactoring.

3. Removed the remnants of ACTL_EJECTMEDIA.

4. Continuation of 5395: use "…" instead of "..." in lng & hlf as well.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не работало извлечение некоторых USB-дисков.

2. Рефакторинг там же.

3. Убраны остатки ACTL_EJECTMEDIA.

4. Продолжение 5395: используем "…" вместо "..." и в lng & hlf.

--------------------------------------------------------------------------------
drkns 2019-06-05 15:50:39+01:00 - build 5408

1. fmt allows checking format strings at compile time, let's use that.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. fmt позволяет проверять формат-строки в compile time, воспользуемся этим.

--------------------------------------------------------------------------------
zg 2019-06-04 11:53:20+03:00 - build 5407

1. 0003713: panel.GetPanelDirectory & panel.SetPanelDirectory inconsistency.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003713: Несогласованность panel.GetPanelDirectory и panel.SetPanelDirectory.

--------------------------------------------------------------------------------
drkns 2019-06-01 19:27:09+01:00 - build 5406

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2019-05-31 00:09:21+01:00 - build 5405

1. Refactoring, Clang & GCC warnings.

--------------------------------------------------------------------------------
drkns 2019-05-28 23:34:25+01:00 - build 5404

1. Continuation of 5403.

--------------------------------------------------------------------------------
drkns 2019-05-27 14:44:09+01:00 - build 5403

1. Menu Filter was using LIF_HIDDEN flag to hide items.
   That's fine, except that LIF_HIDDEN is a public flag that can se set by anyone,
   so turning the filter on and off was spawning sudden items sometimes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Фильр меню использовал флаг LIF_HIDDEN для сокрытия пунктов.
   Это прекрасно, за исключением того, что LIF_HIDDEN - публичный флаг, который может поставить кто угодно,
   и включение и выключение фильтра иногда приводило к внезапным пунктам.

--------------------------------------------------------------------------------
drkns 2019-05-26 20:25:11+01:00 - build 5402

1. Added diagnostic messages for configuration import & export failures.

2. Added errno capturing to exception handling.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Диагностические сообщения при ошибках импорта & экспорта конфигурации.

2. Отображение errno при обработке исключений.

--------------------------------------------------------------------------------
drkns 2019-05-25 14:14:54+01:00 - build 5401

1. 0003711: Allow multiple file list metasymbols.

--------------------------------------------------------------------------------
drkns 2019-05-22 19:43:43+01:00 - build 5400

1. As it turned out, XP x64 has everything we need so wrappers have been disabled for x64 (at least until they use something else in the CRT that isn't there).

2. A few minor changes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Как выяснилось, в XP x64 уже и так всё есть, поэтому отключим врапперы для x64 (пока в CRT не начнут использовать что-то, чего там нет).

2. Пара мелочей.

--------------------------------------------------------------------------------
drkns 2019-05-21 21:42:42+01:00 - build 5399

1. x64 support in vc_crt_fix.asm. Probably we can work in XP x64 as well now.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Поддержка x64 в vc_crt_fix.asm. Теперь, наверное, сможем работать и в XP x64.

--------------------------------------------------------------------------------
drkns 2019-05-15 23:45:23+02:00 - build 5398

1. https://docs.microsoft.com/en-us/windows/desktop/shell/launch
   "In general, trying to determine the list of available verbs for a particular file is somewhat complicated.
   In many cases, you can simply set the lpVerb parameter to NULL, which invokes the default command for the file type."

   Let's follow the manual here - the result of "trying to determine" is sometimes insane.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. https://docs.microsoft.com/en-us/windows/desktop/shell/launch
   "In general, trying to determine the list of available verbs for a particular file is somewhat complicated.
   In many cases, you can simply set the lpVerb parameter to NULL, which invokes the default command for the file type."

   Сделаем по документации, т.к. "trying to determine" иногда выдаёт дичь.

--------------------------------------------------------------------------------
drkns 2019-05-11 23:42:12+01:00 - build 5397

1. Fix build.

--------------------------------------------------------------------------------
drkns 2019-05-11 22:55:22+01:00 - build 5396

1. New fmt version.

2. Refactoring.

--------------------------------------------------------------------------------
drkns 2019-05-06 22:44:11+01:00 - build 5395

1. Use "…" instead of "..." for UI string truncation to save some space.

2. Minor changes in vcxproj and build scripts.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При обрезании строк в UI вместо "..." используется "…" для экономии места.

2. Мелкие уточнения vcxproj и сборочных скриптов.

--------------------------------------------------------------------------------
drkns 2019-05-04 17:16:12+01:00 - build 5394

1. initguid.cpp removed - GUIDs are initialised directly now.

2. A workaround to support GCC 7.1.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. initguid.cpp больше нет - GUIDы инициализируются напрямую.

2. Костыль для поддержки GCC 7.1.

--------------------------------------------------------------------------------
drkns 2019-05-03 22:15:49+01:00 - build 5393

1. 0003709: Incorrect relative dates in filters

2. A few minor changes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003709: Меняются значения относительных дат в фильтре

2. Пара мелочей.

--------------------------------------------------------------------------------
drkns 2019-05-01 23:00:19+01:00 - build 5392

1. Refactoring.

2. More tests.

--------------------------------------------------------------------------------
drkns 2019-04-26 23:37:23+01:00 - build 5391

1. Continuation of 5368.

--------------------------------------------------------------------------------
drkns 2019-04-25 23:57:58+01:00 - build 5390

1. Refactoring.

2. More tests.

--------------------------------------------------------------------------------
drkns 2019-04-25 22:42:44+01:00 - build 5389

1. 0003706: Pressing Enter clears the selection in the current line.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003706: При нажатии Enter сбрасывается выделение в текущей строке

--------------------------------------------------------------------------------
svs 2019-04-24 16:11:54+03:00 - build 5388

1. SQLite 3.28.0

--------------------------------------------------------------------------------
drkns 2019-04-18 21:59:52+01:00 - build 5387

1. New fmt version.

2. Workaround for Clang 8.

3. Minor refactoring.

--------------------------------------------------------------------------------
drkns 2019-04-17 22:23:24+01:00 - build 5386

1. Build process:
   - bootstrap directory moved to IntDir (some generated files contain platfrom-specific data).
   - simplified the format of vbuild.m4 - now there is only a number.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Процесс сборки:
   - папка bootstrap переехала в IntDir (в некоторых генерируемых файлах содержатся платформозависимые данные).
   - упрощен формат vbuild.m4 - теперь там только номер.

--------------------------------------------------------------------------------
drkns 2019-04-16 08:17:59+01:00 - build 5385

1. Correction of 5384.

--------------------------------------------------------------------------------
drkns 2019-04-15 21:42:35+01:00 - build 5384

1. Refactoring.

2. Please do not check in files with crlf line endings into git. Thanks.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг.

2. Пожалуйста, не пихайте в git файлы с crlf концами строк. Спасибо.

--------------------------------------------------------------------------------
drkns 2019-04-05 17:10:06+01:00 - build 5383

1. Forum: corrections for WindowMode = false.

--------------------------------------------------------------------------------
drkns 2019-04-03 20:01:25+01:00 - build 5382

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2019-04-02 19:41:21+01:00 - build 5381

1. Standard Boyer-Moore-Horspool implementation in Find File.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Стандартная имплементация Boyer-Moore-Horspool в поиске файлов.

2. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2019-03-28 16:45:06+00:00 - build 5380

1. Running the screen saver resets the viewport position.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Запуск скринсейвера сбрасывает позицию вюьпорта.

--------------------------------------------------------------------------------
drkns 2019-03-28 13:54:13+00:00 - build 5379

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2019-03-25 17:22:38+00:00 - build 5378

1. Minor refactoring.

2. More tests.

--------------------------------------------------------------------------------
drkns 2019-03-22 23:45:48+00:00 - build 5377

1. Fix GCC debug build.

--------------------------------------------------------------------------------
drkns 2019-03-20 23:35:45+00:00 - build 5376

1. Use Catch2 for unit tests.

2. Run unit tests as a part of the build process (debug - always, release - optionally).

3. Continuation of 5373.2 - removed some more redundant code.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Для юнит-тестов используется Catch2.

2. Тесты запускаются как часть процесса сборки (debug - всегда, release - опционально).

3. Продолжение 5373.2 - убрано еще немного ненужного кода.

--------------------------------------------------------------------------------
drkns 2019-03-13 22:27:54+00:00 - build 5375

1. SQLite exceptions include the database name.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В исключениях SQLite указывается имя базы.

--------------------------------------------------------------------------------
w17 2019-03-12 15:24:39+03:00 - build 5374

1. Correction of 5360.

--------------------------------------------------------------------------------
drkns 2019-03-10 00:47:09+00:00 - build 5373

1. Minimal supported Visual Studio version is now 2017 Update 9.

2. Removed VS2015-specific workarounds, some parts are reimplemented more efficiently.

3. Win32 versions of mingw are supported again.

4. Clang warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Минимальная поддерживаемая версия Visual Studio - 2017 Update 9.

2. Убраны костыли для поддержки VS2015, некоторые места переписаны более эффективно.

3. Снова поддерживаются win32-версии mingw.

4. Clang warnings.

--------------------------------------------------------------------------------
zg 2019-03-03 16:22:37+02:00 - build 5372

1. Forum: keybar is not updated after calling a plugin.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. с форума: линейка функциональных клавиш после архиватора не обновляется.

--------------------------------------------------------------------------------
svs 2019-02-27 13:44:44+03:00 - build 5371

1. SQLite 3.27.2

--------------------------------------------------------------------------------
drkns 2019-02-25 23:31:27+00:00 - build 5370

1. Some AI in executor to skip scrolling if possible, based on https://forum.farmanager.com/viewtopic.php?p=153198#p153198.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Немного AI в запускателе для пропуска прокрутки при возможности, по мотивам https://forum.farmanager.com/viewtopic.php?p=153198#p153198.

--------------------------------------------------------------------------------
MZK 2019-02-24 16:26:04-08:00

1. Revised @Viewer help page, both English and Russian

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Переработал страницу справки @Viewer, английскую и русскую

--------------------------------------------------------------------------------
drkns 2019-02-24 02:23:08+00:00 - build 5369

1. Switching from editor to viewer didn't work in UTF-8 files due to a typo in 5345.

2. Lng read optimisation.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Из-за опечатки в 5345 не работал переход из редактора в просмотр для UTF-8 файлов.

2. Оптимизация чтения lng.

--------------------------------------------------------------------------------
drkns 2019-02-22 23:12:51+00:00 - build 5368

1. Use '│' instead of ' ' as a separator in editor & viewer status lines. Readability should improve.

2. Show names for Unicode (UTF7-8-16) code pages instead of numbers in editor & viewer status lines.

3. Show proper names for system code pages in code pages menu.

4. Translation corrections.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В качестве разделителя в статусных строках редактора и просмотра вместо пробела используется '│'. Читабельность должна повыситься.

2. В статусных строках редактора и просмотра отображаются имена юникодных (UTF7-8-16) кодовых страниц вместо номеров.

3. В меню кодовых страниц отображаются полноценные имена для системных страниц.

4. Уточнения перевода.

--------------------------------------------------------------------------------
drkns 2019-02-22 20:02:42+00:00 - build 5367

1. Don't try to read labels from the main lng if lng.custom files are absent.

2. Translation corrections.

3. VS2015.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Если файлы lng.custom отсутствуют - не пытаемся читать метки из основного lng.

2. Уточнения перевода.

3. VS2015.

--------------------------------------------------------------------------------
drkns 2019-02-21 22:00:35+00:00 - build 5366

1. Show executed command exactly as entered by the user.

2. Removing selection worked incorrectly in Grabber.

3. Reading/setting file owners optimisation.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Показываем исполняемую команду в том виде, в котором её ввёл пользователь.

2. В граббере некорректно работало снятие выделения.

3. Оптимизация чтения/установки владельцев файлов.

--------------------------------------------------------------------------------
drkns 2019-02-16 21:38:09+00:00 - build 5365

1. Refactoring.

--------------------------------------------------------------------------------
w17 2019-02-12 18:22:53+03:00 - build 5364

1. M#3695: Excessive movements during search

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#3695: лишние перемещения при поиске

--------------------------------------------------------------------------------
svs 2019-02-12 09:12:09+03:00 - build 5363

1. SQLite 3.27.1

--------------------------------------------------------------------------------
drkns 2019-02-10 23:17:26+00:00 - build 5362

1. Continuation of 2493.

2. Refactoring.

--------------------------------------------------------------------------------
w17 2019-02-06 19:46:32+03:00 - build 5361

1. M#3694: Guid is required for viewer search dialog

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#3694: Требуется Guid для диалога поиска во вьювере

--------------------------------------------------------------------------------
w17 2019-02-06 19:27:23+03:00 - build 5360

1. M#3636: VCTL_GETFILENAME not working on QView close

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#3636: VCTL_GETFILENAME не работает при закрытии QView

--------------------------------------------------------------------------------
drkns 2019-02-05 23:40:18+00:00 - build 5359

1. Refactoring.

2. Fix 5356.3.

--------------------------------------------------------------------------------
drkns 2019-02-05 21:16:42+00:00 - build 5358

1. Forum: invalid from utf-8 perspective byte sequence sometimes was treated as a valid character.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: некорректная с точки зрения utf-8 последовательность байт иногда считалась корректным символом.

--------------------------------------------------------------------------------
drkns 2019-02-04 22:22:35+00:00 - build 5357

1. #78 Add a placeholder symbol for file descriptions

--------------------------------------------------------------------------------
drkns 2019-01-24 00:43:26+00:00 - build 5356

1. New version of fmt.

2. Task List didn't show captionless windows.

3. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Новая версия fmt.

2. Task List не показывал окна без заголовков.

3. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2019-01-18 00:27:00+00:00 - build 5355

1. 5353 broke GCC build due to a bug in fmt.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 5353 сломал GCC билд из-за бага в fmt.

--------------------------------------------------------------------------------
drkns 2019-01-16 17:21:03+00:00 - build 5354

1. More 5352.

--------------------------------------------------------------------------------
w17 2019-01-16 18:07:41+03:00 - build 5353

1. fmt library & Far thousands separator.

--------------------------------------------------------------------------------
drkns 2019-01-15 20:56:22+00:00 - build 5352

1. 0003621: Add "Use shell name" option.

--------------------------------------------------------------------------------
drkns 2019-01-09 13:13:13+00:00 - build 5351

1. More 5350.

--------------------------------------------------------------------------------
drkns 2019-01-09 11:37:01+00:00 - build 5350

1. Don't try to set cursor size and position if it's not visible.

2. A few minor changes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не пытаемся устанавливать размер и позицию курсора, если его не видно.

2. Пара мелочей.

--------------------------------------------------------------------------------
drkns 2019-01-05 14:08:45+00:00 - build 5349

1. 0003689: Search in encrypted archives doesn't work.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003689: Находятся не все файлы в запароленных зипах

--------------------------------------------------------------------------------
drkns 2019-01-01 16:19:36+00:00 - build 5348

1. Coverity warnings.

--------------------------------------------------------------------------------
drkns 2018-12-31 17:05:00+00:00 - build 5347

1. Key combinations like Ctrl+[Shift+]VK_OEM_8 didn't work.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не работали сочетания типа Ctrl+[Shift+]VK_OEM_8.

--------------------------------------------------------------------------------
drkns 2018-12-27 22:28:16+00:00 - build 5346

1. /analyze warnings.

--------------------------------------------------------------------------------
drkns 2018-12-26 11:22:00+00:00 - build 5345

1. std::function replaced with function_ref where possible. Something (somewhere, sometime) will work faster. Probably.

2. Clang warnings.

3. New version of fmt.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. std::function заменена на function_ref, где возможно. Что-то (где-то, когда-то) будет работать быстрее. Наверное.

2. Clang warnings.

3. Новая версия fmt.

--------------------------------------------------------------------------------
drkns 2018-12-23 16:09:53+00:00 - build 5344

1. ColorDialog uses more obvious colour (black) as the base of the preview by default.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. ColorDialog использует более очевидный цвет (чёрный) в качестве базы предпросмотра, если не указано иное.

--------------------------------------------------------------------------------
drkns 2018-12-16 19:12:45+00:00 - build 5343

1. Incorrect keybar position in non-fullscreen windows (typo in 5268).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Некорректная позиция линейки клавиш в неполноэкранных окнах (опечатка в 5268).

--------------------------------------------------------------------------------
drkns 2018-12-11 01:59:56+00:00 - build 5342

1. VS 2015.

--------------------------------------------------------------------------------
drkns 2018-12-10 22:50:11+00:00 - build 5341

1. Refactoring.

--------------------------------------------------------------------------------
zg 2018-12-10 16:16:53+02:00 - build 5340

1. 0003657: DM_SETTEXT doesn't reset LeftPos to 0.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003657: DM_SETTEXT не сбрасывает LeftPos в ноль.

--------------------------------------------------------------------------------
svs 2018-12-10 09:01:02+03:00 - build 5339

1. SQLite 3.26.0

--------------------------------------------------------------------------------
zg 2018-12-07 10:52:37+02:00 - build 5338

1. Continuation of 5337:
   - memory usage optimization.
   - "ChangeTime" is not restored.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 5337:
   - оптимизация расхода памяти.
   - "ChangeTime" не восстанавливается.

--------------------------------------------------------------------------------
zg 2018-12-05 18:17:44+02:00 - build 5337

1. copying a folder keeps its timestamps.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. сохранение всех дат папки при копировании.

--------------------------------------------------------------------------------
drkns 2018-12-05 07:54:14+00:00 - build 5336

1. Fix 5334.

--------------------------------------------------------------------------------
drkns 2018-12-04 23:30:45+00:00 - build 5335

1. Crash in far:config dialog under certain circumstances.

2. Support for compilation with Visual Studio 2019.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Падение в диалоге far:config при определенных обстоятельствах.

2. Поддержка компиляции в Visual Studio 2019.

--------------------------------------------------------------------------------
drkns 2018-12-04 02:08:22+00:00 - build 5334

1. More fixes in concurrent access to sqlite.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Еще некоторые исправления конкурентного доступа к sqlite.

2. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2018-12-02 00:14:12+00:00 - build 5333

1. As it turned out, SQlite, when finalising a write transaction, does not actually finalise it,
   but downgrade it to a read-only transaction if there are any active statements.
   This led to amusing effects during creation of subsequent transactions, and, eventually, to crashes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Как выяснилось, SQlite при завершении транзакции записи не завершает её,
   а даунгрейдит до транзакции чтения, если существуют активные стейтменты.
   Это приводило к забавным эффектам при попытках создания последующих транзакций и, в конце концов, к падениям.

--------------------------------------------------------------------------------
drkns 2018-11-29 18:07:01+00:00 - build 5332

1. Restore "ClearType-friendly redraw" for Windows 10 - still relevant for Legacy Console.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Вернём "ClearType-friendly redraw" для Windows 10 - это всё ещё актуально для Legacy Console.

--------------------------------------------------------------------------------
drkns 2018-11-28 19:20:40+00:00 - build 5331

1. VT-renderer wasn't expecting that plugins can provide arbitrary rubbish instead of normal colour.

2. ENABLE_VIRTUAL_TERMINAL_INPUT flag is cleared if set.

3. "ClearType-friendly redraw" option does nothing on Windows 10 now.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. VT-рендерер не учитывал, что плагины вместо нормального цвета вполне могут предоставлять шопопало.

2. Флаг ENABLE_VIRTUAL_TERMINAL_INPUT сбрасывается, если установлен.

3. В Windows 10 опция "ClearType-friendly redraw" ничего не делает.

--------------------------------------------------------------------------------
drkns 2018-11-28 01:12:50+00:00 - build 5330

1. Show LastError & NTSTATUS in the exception handler, if possible.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Показываем LastError & NTSTATUS в обработчике исключений, если возможно.

--------------------------------------------------------------------------------
svs 2018-11-27 16:57:10+03:00 - build 5329

1. SQLite 3.25.3

--------------------------------------------------------------------------------
drkns 2018-11-26 23:46:06+00:00 - build 5328

1. 0001726: Entering symbols using Input Method Editor doesn't work.

--------------------------------------------------------------------------------
drkns 2018-11-25 22:07:47+00:00 - build 5327

1. Some improvements in exception handling.

2. Refactoring.

--------------------------------------------------------------------------------
w17 2018-11-23 16:13:05+03:00 - build 5326

1. New option 'Save view mode' (true by default)

2. New option 'Detect dump view mode' (true by default)
   If disabled, new files will be always opened in text mode.

3. Changed F2 key behaviour in viewer:
   For Dump - switch to Text,
   For Code (Hex) - switch to either Dump or Text (F4 and F2 choose different modes)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Добавлена опция 'Сохранять режим просмотра' (умолчание = true)

2. Добавлена опция 'Автовыбор дамп режима просмотра' (умолчание = true)
   если отключить, новые файлы всегда будут открываться в текстовом режиме

3. Изменено поведение клавиши F2 в просмотре для режимов:
   Дамп - производится переключение в Текст,
   Код (Hex) - производится переключение в Дамп или Текст (F4 и F2 выбирают разные режимы)

--------------------------------------------------------------------------------
drkns 2018-11-21 09:17:30+00:00 - build 5325

1. Typo in 5324.

--------------------------------------------------------------------------------
drkns 2018-11-20 19:20:12+00:00 - build 5324

1. Partial revert of 5276: restored reading highlighting/sorting groups in the old format.
   If new parameters don't exist, but old ones do - we will read them, delete and save as a new immediately.

   The next attempt to finally remove the legacy code is in a year.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Частичный откат 5276: вернем чтение групп раскраски/сортировки в старом формате.
   При отсутствии новых параметров и наличии старых старые будут прочитаны, удалены и, не отходя от кассы, сохранены, как новые.

   Следующая попытка окончательного удаления легаси-кода - через год.

--------------------------------------------------------------------------------
drkns 2018-11-20 01:10:03+00:00 - build 5323

1. New versions of tinyxml2 and fmt.

2. Refactoring.

--------------------------------------------------------------------------------
drkns 2018-11-18 23:20:04+00:00 - build 5322

1. /clearcache command didn't work.

--------------------------------------------------------------------------------
drkns 2018-11-18 14:59:47+00:00 - build 5321

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2018-11-18 11:07:28+00:00 - build 5320

1. And FastFind again.

--------------------------------------------------------------------------------
drkns 2018-11-17 22:05:54+00:00 - build 5319

1. More 0003679: always reset a filter when closing a combobox.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 0003679: всегда сбрасываем фильтр при закрытии комбобокса.

--------------------------------------------------------------------------------
drkns 2018-11-17 00:11:01+00:00 - build 5318

1. 0003679: DM_LISTGETCURPOS works incorrectly after pressing Esc in a filtered combobox.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003679: После фильтрации комбобокса и нажатия Esc DM_LISTGETCURPOS работает неправильно

--------------------------------------------------------------------------------
zg 2018-11-15 15:00:02+02:00 - build 5317

1. ECTL_GETCOLOR was returning incorrect coordinates.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. ECTL_GETCOLOR неправильно возвращала координаты.

--------------------------------------------------------------------------------
drkns 2018-11-15 07:37:31+00:00 - build 5316

1. And FastFind again.

--------------------------------------------------------------------------------
drkns 2018-11-15 00:53:53+00:00 - build 5315

1. And once more.

--------------------------------------------------------------------------------
drkns 2018-11-14 00:40:20+00:00 - build 5314

1. Some improvements in exception handling.

2. Strange things when closing FastFind with a mouse.

3. Correction of 5304.

4. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнения обработки исключений.

2. Странные эффекты при закрытии FastFind мышью.

3. Уточнение 5304.

4. Рефакторинг.

--------------------------------------------------------------------------------
zg 2018-11-14 20:28:30+02:00 - build 5313

1. gcc.

--------------------------------------------------------------------------------
drkns 2018-11-12 23:59:59+00:00 - build 5312

1. If codepage detection failed, but we know that it can't be valid UTF-8/16 -
   ANSI will be used, even if UTF-8/16 is the default. Less chance of damaging the text.

2. A few minor changes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Если определение кодовой страницы не удалось, но известно, что это точно не UTF-8/16 -
   будем использовать ANSI, даже если UTF-8/16 является умолчанием. Меньше вероятность порчи текста.

2. Пара мелочей.

--------------------------------------------------------------------------------
drkns 2018-11-10 18:52:03+00:00 - build 5311

1. Since SQLite doesn't support nested transactions and we use them only for performance -
   nested begin/end are ignored now.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Т.к. SQLite не поддерживает вложенные транзакции, а используем мы их только для производительности -
   вложенные begin/end теперь игнорируются.

--------------------------------------------------------------------------------
drkns 2018-11-10 00:09:59+00:00 - build 5310

1. Small file sorting optimisations.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Мелкие оптимизации сортировки файлов.

2. Рефакторинг.

--------------------------------------------------------------------------------
w17 2018-11-09 14:25:26+03:00 - build 5309

1. GH #77 3.0.5300: Viewer Save file position is broken

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. GH #77 3.0.5300: Поломался Save file position в просмотровщике (F3)

--------------------------------------------------------------------------------
drkns 2018-11-09 09:02:24+00:00 - build 5308

1. 5307 revealed an ancient bug - incorrect handle usage.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 5307 выявил древний баг - некорректное использование хендла.

--------------------------------------------------------------------------------
drkns 2018-11-08 21:55:13+00:00 - build 5307

1. Some improvements in exception throwing and handling.

2. After 5304 the profile was consireded "read only" in some cases.

3. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнения создания и обработки исключений.

2. После 5304 в некоторых случаях ошибочно считалось, что профиль доступен только для чтения.

3. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2018-11-08 08:56:21+00:00 - build 5306

1. Forum: Far hangs after moving the system date back a day.
   Some genius in MS implemented sleep_for in terms of sleep_until. *facepalm*

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: Far виснет при переводе системной даты на день назад
   Какой-то гений в MS реализовал sleep_for через sleep_until. *facepalm*

--------------------------------------------------------------------------------
drkns 2018-11-08 00:26:26+00:00 - build 5305

1. Some improvements in exception handling.

2. Redundant allocations during subsequent SCTL_CREATESUBKEY calls.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнения обработки исключений.

2. Повторные вызовы SCTL_CREATESUBKEY могли приводить к лишним выделениям памяти.

--------------------------------------------------------------------------------
drkns 2018-11-06 20:35:22+00:00 - build 5304

1. Major SQLite changes: now instead of returning false or error code (which we almost never checked anyway) on failures
   exceptions will be thrown. Currently they are handled during db opening (due all the shenanigans we do there)
   and plugin settings instantiation (for obvious reasons), i.e. SCTL_CREATE, as promised, will return FALSE in case of failure.
   This should also fix 0002940: SCTL_CREATE: issues when creating multiple instances of settings.
   In the rest of the code these possible exceptions are (currently) not handled, so you will notice if anything goes wrong.
   SQLITE_BUSY is processed separately - after a 5-sec timeout it will be possible to either retry or abort the operation

   In other words - these changes are quite experimental, here be dragons.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Переделана работа с SQLite: теперь при неудаче вместо возврата false или кодов ошибок (которые мы почти нигде не проверяли)
   бросаются исключения. Они пока что перехватываются при открытии db (из-за всего сопутствующего этому процессу шаманства)
   и создании экземпляра настроек плагина (по понятным причинам), т.е. SCTL_CREATE, как и обещано, вернет FALSE в случае неудачи.
   Это должно заодно починить 0002940: SCTL_CREATE: проблемы при создании более одного экземпляра настроек.
   В остальном коде эти возможные исключения (пока) никак не обрабатываются, так что если у вас что пойдет не так - вы об этом узнаете.
   SQLITE_BUSY обрабатывается отдельно - после 5-секундного таймаута будет возможность повторить либо прервать операцию.

   Иными словами - изменения весьма экспериментальные, возможно всякое.

--------------------------------------------------------------------------------
MZK 2018-11-05 22:34:40-08:00

1. Translated help page @OSCommands into English and reworked the Russian page.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Перевёл страницу @OSCommands справки на английский и переработал русскую страницу.

--------------------------------------------------------------------------------
drkns 2018-11-05 18:44:11+00:00 - build 5303

1. Fix 5281.2.

--------------------------------------------------------------------------------
drkns 2018-10-30 22:03:16+00:00 - build 5302

1. GH #74 Problem with relative paths in arguments if running from directory with full path longer than MAX_PATH chars
   Let's try passing the short name to SHELLEXECUTEINFO.lpDirectory if the long one is longer than MAX_PATH.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. GH #74 Problem with relative paths in arguments if running from directory with full path longer than MAX_PATH chars
   Попробуем передавать в SHELLEXECUTEINFO.lpDirectory короткое имя, если длинное длиннее MAX_PATH.

--------------------------------------------------------------------------------
drkns 2018-10-29 19:17:34+00:00 - build 5301

1. Forum: Shift+BS doesn't reset the filter.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: Shift+BS не сбрасывает фильтр.

--------------------------------------------------------------------------------
drkns 2018-10-28 14:00:50+00:00 - build 5300

1. Reduce transactions lifetime in HierarchicalConfigDb for internal databases.
   For plugins everything is the same as before for now.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Сократим время жизни транзакций в HierarchicalConfigDb для внутренних баз.
   Для плагинов пока всё по прежнему.

--------------------------------------------------------------------------------
drkns 2018-10-27 17:44:42+01:00 - build 5299

1. Forum: Crash when renaming 1.1.1 to *.*.2

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: При попытке переименовать файл или каталог с именем 1.1.1 в *.*.2 FAR падает.

--------------------------------------------------------------------------------
drkns 2018-10-26 23:27:41+01:00 - build 5298

1. And once more.

--------------------------------------------------------------------------------
drkns 2018-10-26 23:09:45+01:00 - build 5297

1. Fix 5281.2.

--------------------------------------------------------------------------------
drkns 2018-10-26 19:48:27+01:00 - build 5296

1. Forum: Visual issue with moving items between groups in Files highlighting

--------------------------------------------------------------------------------
drkns 2018-10-26 18:59:10+01:00 - build 5295

1. FSF.FarClock / Far.UpTime worked incorrectly after 5080.

2. Color dialog improvements.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. После 5080 некоректно работали FSF.FarClock / Far.UpTime

2. Улучшения диалога выбора цвета.

--------------------------------------------------------------------------------
drkns 2018-10-26 01:20:13+01:00 - build 5294

1. Forum: Add color code (#RRGGBB) to the Color dialog

--------------------------------------------------------------------------------
drkns 2018-10-25 20:33:20+01:00 - build 5293

1. Fix 5291.

--------------------------------------------------------------------------------
drkns 2018-10-24 22:20:59+01:00 - build 5292

1. In command line and file associations "if [not] exist" parser didn't work properly - a first encountered "not" was affecting all nested "if", e.g. "if not exist foo if defined tmp echo yes".
   I suppose it newer worked properly.

2. A few minor changes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В комстроке и ассоциациях криво работал парсер "if [not] exist" - первый попавшийся "not" распространялся на все вложенные "if", например "if not exist foo if defined tmp echo yes".
   Подозреваю, правильно он не работал никогда.

2. Пара мелочей.

--------------------------------------------------------------------------------
drkns 2018-10-24 00:09:27+01:00 - build 5291

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2018-10-22 22:26:20+01:00 - build 5290

1. Fix 5288.1.

--------------------------------------------------------------------------------
drkns 2018-10-21 15:23:33+01:00 - build 5289

1. Fix 5288.1.

--------------------------------------------------------------------------------
drkns 2018-10-20 23:14:28+01:00 - build 5288

1. Hello again, rainbow: continuation of build 2070 after seven years.
   - Added a new option "Use Virtual Terminal for rendering" to Interface settings.
   - Added "Advanced" button to Color dialog.
   - Fixed bugs related to colors combination.
   In other words - happy Windows 10 owners now can enjoy TrueColor without intermediaries and right on the spot.

2. Workaround for https://github.com/Microsoft/console/issues/281.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. И снова здравствуй, радуга: продолжение build 2070 семь лет спустя:
   - В Interface settings добавлена опция "Use Virtual Terminal for rendering".
   - В диалог выбора цвета добавлена кнопка "Advanced".
   - Исправлены баги с комбинированием цветов.
   Иными словами - счастливые обладатели Windows 10 теперь могут наслаждаться труколором без посредников и не отходя от кассы.

2. Workaround для https://github.com/Microsoft/console/issues/281.

--------------------------------------------------------------------------------
drkns 2018-10-14 13:21:57+01:00 - build 5287

1. Removed added in 2145 options "Highlight column separators" and "Double stripe separators".
   Separators always use Panel.Box colour and doubled between stripes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Убраны добавленные в 2145 опции "Highlight column separators" и "Double stripe separators".
   Разделители всегда используют цвет Panel.Box и удваиваются между полосами.

--------------------------------------------------------------------------------
drkns 2018-10-14 02:29:18+01:00 - build 5286

1. Removed option "-a Disable display of characters with codes 0 - 31 and 255".
   Reason: Far already doesn't show control characters for like 15 years, always replacing them with unicode glyphs.

2. Removed option "-ag Disable display of pseudographics characters".
   Reason: not all pseudographics was covered anyway and only in the interface, but not in, say, editor content or file names.
   If for aesthetic reasons you find frames with -=|+ more pleasant than with ─═║┼ - System.BoxSymbols can be changed via far:config.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Опции "-a Disable display of characters with codes 0 - 31 and 255" больше нет.
   Причина: Far и так не выводит управляющие символы уже лет 15, всегда заменяя их юникодными глифами.

2. Опции "-ag Disable display of pseudographics characters" больше нет.
   Причина: это распространялось далеко не на всю псевдографику и только на элементы интерфейса, но не на, например, содержимое редактора или имена файлов.
   Если вдруг по эстетическим соображениям рамочки с -=|+ вам милее, чем с ─═║┼ - можно поправить System.BoxSymbols в far:config.

--------------------------------------------------------------------------------
drkns 2018-10-13 10:38:58+01:00 - build 5285

1. Show "<Folder>" or "<  Up  >" for folders in "P" column (allocation size) as well.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Показываем "<Folder>" или "<  Up  >" для папок в столбце "P" (allocation size) тоже.

--------------------------------------------------------------------------------
drkns 2018-10-10 19:46:45+01:00 - build 5284

1. Fix 5281.2.

--------------------------------------------------------------------------------
drkns 2018-10-09 23:49:36+01:00 - build 5283

1. Fix 5273.1.

--------------------------------------------------------------------------------
svs 2018-10-09 09:22:17+03:00 - build 5282

1. SQLite 3.25.2

--------------------------------------------------------------------------------
drkns 2018-10-09 01:14:41+01:00 - build 5281

1. Fix bugs in string_view implementation for VS2015.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Исправлены ошибки в реализации string_view для VS2015.

2. Рефакторинг.

--------------------------------------------------------------------------------
w17 2018-10-06 21:06:14+03:00 - build 5280

1. Fix 3837

--------------------------------------------------------------------------------
drkns 2018-10-03 11:41:16+03:00 - build 5279

1. Correction of 5276.2.

--------------------------------------------------------------------------------
drkns 2018-10-02 19:19:52+03:00 - build 5278

1. #71: Ampersand in !?<title>?<init>!

--------------------------------------------------------------------------------
drkns 2018-10-02 02:59:59+03:00 - build 5277

1. The color preview in Files highlighting takes transparency into account.

2. The color preview in Color dialog takes transparency into account.

3. By default directories highlighting does not make an exception for ".." (simpler rules and faster processing).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В предпросмотре цвета в диалоге Files highlighting учитывается прозрачность.

2. В предпросмотре цвета в диалоге Color учитывается прозрачность.

3. По умолчанию раскраска каталогов не делает исключений для ".." (проще правила и быстрее обработка).

--------------------------------------------------------------------------------
drkns 2018-09-30 17:49:39+03:00 - build 5276

1. Continuation of 5068: removed reading filters and highlighting/sorting groups in the old format.

2. Filters menu now works in the same way as all other dynamic menus - all changes performed in it
   will be applied regardless of how it has been closed - using Esc or Enter.

3. Visual artefacts during moving items of the highlighting menu with Ctrl+Up / Ctrl+Down.
   Also, menu optimisation: items updated individually instead of "erase all and read from scratch".

4. New versions of tinyxml2 and fmt.

5. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 5068: убрано чтение фильтров и групп раскраски/сортировки в старом формате.

2. Меню фильтров теперь ведет себя так же, как и все остальные динамические меню - все произведенные в нем изменения
   будут применены независимо от того, как его закрыли - по Esc или по Enter.

3. Визуальные артефакты при перемещении пунктов меню раскраски по Ctrl+Up / Ctrl+Down.
   Там же: Оптимизация меню: элементы обновляются индивидуально вместо "сотрём всё и прочитаем сначала".

4. Новые версии tinyxml2 и fmt.

5. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2018-09-30 02:13:21+03:00 - build 5275

1. Lng MListFileSize can contain "{3}" replacement field, which will receive a sum of files and folders.
   By replacing the string with something like "{0} bytes in {3} files" one can get the same selection status as before 4442.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Lng MListFileSize может содержать replacement field "{3}", куда будет помещена сумма файлов и папок.
   Заменив строку на что-то типа "{0} bytes in {3} files", можно получить почти такую же информацию о выделенных файлах, как было до 4442.

--------------------------------------------------------------------------------
drkns 2018-09-30 00:16:35+03:00 - build 5274

1. More 5141 aka M#3578: the fix didn't work for formats like "ddddddddd, dd/MM/yy".

2. Correction of wildcards processing in file names. It should be closer to cmd now.

3. Scanning directories on plugin panels uses the same UI as on the regular.

4. Crash on elevation dialog appearing during tree re-reading.

5. Window maximise/restore didn't work during some operations.

6. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 5141 aka M#3578: исправление не работало для форматов типа "ddddddddd, dd/MM/yy".

2. Уточнения в обработке wildcards в именах файлов. Теперь должно быть больше похоже на cmd.

3. Сканирование папок на плагиновых панелях использует тот же UI, что и на обычных.

4. Падение при появлении elevation диалога во время перечитывания дерева.

5. Максимизация/восстановление окна не работали во время некоторых операций.

6. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2018-09-26 18:54:39+03:00 - build 5273

1. Added keyboard-style delays to mouse handling for cases like "a button is pressed and held for scrolling":
   action -> long pause -> action -> short pause -> action -> short pause -> action...

2. Small refactoring and a few more corrections of 5268.1.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Добавлены задержки в обработку мыши для случая "клавиша нажата и удерживается для прокрутки" в стиле клавиатурных:
   action -> long pause -> action -> short pause -> action -> short pause -> action...

2. Мелкий рефакторинг и еще пара уточнений 5268.1.

--------------------------------------------------------------------------------
MZK 2018-09-23 19:02:35-07:00

1. Translated help page @SelectFiles into English and reworked the Russian page.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Перевёл страницу @SelectFiles справки на английский и переработал русскую страницу.

--------------------------------------------------------------------------------
drkns 2018-09-20 07:47:30+01:00 - build 5272

1. Correction of 5264.1.

--------------------------------------------------------------------------------
MZK 2018-09-18 00:12:21-07:00

1. Help: clarified description of file size formatting options.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Подсказка: уточнил описание опций форматирования размера файла.

--------------------------------------------------------------------------------
w17 2018-09-17 21:04:43+03:00 - build 5271

1. Another correction of 5268.1.

--------------------------------------------------------------------------------
svs 2018-09-17 13:56:40+03:00 - build 5270

1. SQLite 3.25.0

--------------------------------------------------------------------------------
drkns 2018-09-16 07:59:04+01:00 - build 5269

1. Correction of 5268.1.

--------------------------------------------------------------------------------
drkns 2018-09-15 15:13:24+01:00 - build 5268

1. Refactoring. Patterns of "int X1, int X2, int Y1, int Y2" form are replaced with "rectangle", "int X, int Y" - with "point".

2. Experimental: Ctrl+U does not change the size of panels.

3. tag_build.bat should work correctly in locales other than 866.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг. Паттерны типа "int X1, int X2, int Y1, int Y2" заменены на rectangle, "int X, int Y" - на point.

2. Экспериментально: Ctrl+U не меняет размеры панелей.

3. tag_build.bat должен корректно работать в локалях, отличных от 866.

--------------------------------------------------------------------------------
zg 2018-09-13 12:09:52+03:00 - build 5267

1. correction of 5262: DialogInit(-1,-1,0,0) call is equal to DialogInit(-1,-1,1,1).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 5262: вызов DialogInit(-1,-1,0,0) эквивалентен DialogInit(-1,-1,1,1).

--------------------------------------------------------------------------------
drkns 2018-09-10 20:39:25+01:00 - build 5266

1. Export of pluginhotkeys.db was broken.

--------------------------------------------------------------------------------
drkns 2018-09-06 23:43:10+01:00 - build 5265

1. Initial size calculation would display incorrectly when deleting several folders.

2. assert in debug when space is typed in the command line.

3. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При удалении нескольких папок некорректно отображался изначальный подсчет размера.

2. assert в debug при вводе пробела в комстроку.

3. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2018-09-04 21:37:50+01:00 - build 5264

1. In presence of the elevated process the main process would stop earlier than necessary.

2. Forum: Error getting help on plugin.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При наличии elevated-процесса основной процесс закрывался раньше, чем надо.

2. С форума: Ошибка при получении помощи по плагину.

--------------------------------------------------------------------------------
MZK 2018-09-02 23:09:13-07:00

1. Translated help page @ChangeDriveMode into English and edited Russian page.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Перевёл страницу @ChangeDriveMode справки на английский и поредактировал русскую страницу.

--------------------------------------------------------------------------------
drkns 2018-09-02 22:14:00+01:00 - build 5263

1. "Owner" field in attributes dialog has been moved to the bottom.

2. Refactoring.

3. Update Slovak translation.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Поле "Owner" в диалоге атрибутов передвинуто вниз.

2. Рефакторинг.

3. Update Slovak translation.

--------------------------------------------------------------------------------
zg 2018-09-01 18:59:52+03:00 - build 5262

1. check for correctness of coordinates in DialogInit.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. проверка корректности координат в DialogInit.

--------------------------------------------------------------------------------
drkns 2018-08-22 23:59:59+01:00 - build 5261

1. Rollback of rollback of (4858), revert to 4853 and shared_mutex. It may improve search in archives. Or not.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Откат отката (4858) и возвращение к 4853 и shared_mutex. Возможно, поиску в архивах станет лучше. Или нет.

--------------------------------------------------------------------------------
zg 2018-08-22 17:50:28+03:00 - build 5260

1. rollback of 5256.

--------------------------------------------------------------------------------
drkns 2018-08-22 02:28:40+01:00 - build 5259

1. CRT VS 2017 15.8 turned out to be full of yet another junk, vc_crt_fix* are updated for support of old OS.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В CRT VS 2017 15.8 напихали очередной гадости, vc_crt_fix* обновлены для поддержки старых ОС.

--------------------------------------------------------------------------------
MZK 2018-08-19 16:14:41-07:00

1. Translated help page @Codepages.NoAutoDetectCP into English.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Перевел на английский страничку подсказки @Codepages.NoAutoDetectCP.

--------------------------------------------------------------------------------
drkns 2018-08-19 14:58:35+01:00 - build 5258

1. Corrections in processing of ".." in plugin panels.
   - OPIF_ADDDOTS always adds "..".
   - if OPIF_ADDDOTS is not set then the parent directory is the first ".." in the list regardless of FILE_ATTRIBUTE_DIRECTORY presence.
   - Distinguish between a virtual ".." and a real folder if possible.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнения в обработке ".." в панелях плагинов.
   - OPIF_ADDDOTS добавляет ".." всегда.
   - если OPIF_ADDDOTS не установлен, то надкаталогом считается первый ".." в списке, независимо от наличия FILE_ATTRIBUTE_DIRECTORY.
   - Отличаем виртуальный ".." от настоящей папки, если возможно.

--------------------------------------------------------------------------------
drkns 2018-08-19 08:53:24+01:00 - build 5257

1. VS 2017 15.8.1.

--------------------------------------------------------------------------------
zg 2018-08-15 00:00:47+03:00 - build 5256

1. protect all plugin calls with a global critical section.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. все вызовы плагинов защищены глобальной критической секцией.

--------------------------------------------------------------------------------
drkns 2018-08-09 21:06:04+01:00 - build 5255

1. SQLite does not use rand_s() since 3.21 so Win2k support which has been introduced in 4710 now can be removed.

2. A couple of issues.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Оказывается, SQLite, начиная с 3.21, не использует rand_s() и костыль для поддержки Win2k, добавленный в 4710, больше не нужен.

2. Пара мелочей.

--------------------------------------------------------------------------------
drkns 2018-08-05 14:05:25+01:00 - build 5254

1. Continuation of 5252.

--------------------------------------------------------------------------------
drkns 2018-08-03 12:13:31+01:00 - build 5253

1. Continuation of 5249.

--------------------------------------------------------------------------------
drkns 2018-08-03 00:28:15+01:00 - build 5252

1. Correction of 5248.

--------------------------------------------------------------------------------
drkns 2018-08-02 19:06:57+01:00 - build 5251

1. Correction of 5250.2.

--------------------------------------------------------------------------------
drkns 2018-08-02 18:08:20+01:00 - build 5250

1. Refactoring.

2. A few small tweaks of interaction with sqlite.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг.

2. Несколько мелких оптимизаций в работе с sqlite.

--------------------------------------------------------------------------------
zg 2018-08-02 18:54:18+03:00 - build 5249

1. correction of 5242.1 when the panel is closed in GetFilesW and DeleteFilesW.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 5242.1, если панель закрывается внутри GetFilesW и DeleteFilesW.

--------------------------------------------------------------------------------
drkns 2018-08-01 15:04:37+01:00 - build 5248

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2018-07-25 00:21:37+01:00 - build 5247

1. Correction of 5240.

2. Refactoring.

--------------------------------------------------------------------------------
drkns 2018-07-23 23:54:41+01:00 - build 5246

1. Continuation of 5211.1. Associations !.! must be working again in archives.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 5211.1. Должны снова работать ассоциации типа !.! в архивах.

--------------------------------------------------------------------------------
zg 2018-07-24 00:57:09+03:00 - build 5245

1. correction of 5242.1 if the panel is closed in GetFindDataW.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 5242.1, если панель закрывается внутри GetFindDataW.

--------------------------------------------------------------------------------
drkns 2018-07-23 20:05:28+01:00 - build 5244

1. Refactoring of strings and string literals.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Мелкий рефакторинг на тему строк и строковых литералов.

--------------------------------------------------------------------------------
drkns 2018-07-22 23:02:33+01:00 - build 5243

1. Adapter UUID is checked on load, duplicates are ignored.

2. clang & gcc warnings.

3. Some renaming.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. UUID адаптера проверяется при загрузке, дубликаты игнорируются.

2. clang & gcc warnings.

3. Немного переименований.

--------------------------------------------------------------------------------
zg 2018-07-22 16:11:54+03:00 - build 5242

1. FCTL_CLOSEPANEL closes panel synchronously.

2. gcc warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. FCTL_CLOSEPANEL синхронно закрывает панель.

2. gcc warnings.

--------------------------------------------------------------------------------
drkns 2018-07-21 18:41:29+01:00 - build 5241

1. Null character could not be entered in command line for some reason.

2. Strings containing null characters would be correctly added to db and incorrectly read.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Почему-то нельзя было ввести нулевой символ в комстроку.

2. Строки с нулевыми символами правильно добавлялись в дб, но неправильно извлекались.

--------------------------------------------------------------------------------
drkns 2018-07-20 23:07:50+01:00 - build 5240

1. Fix obtaining strings with winapi functions.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнения получения строк через winapi-функции.

--------------------------------------------------------------------------------
drkns 2018-07-16 18:30:13+01:00 - build 5239

1. Correction of 5238.2.

--------------------------------------------------------------------------------
drkns 2018-07-15 14:42:42+01:00 - build 5238

1. New versions of tinyxml2 and fmt.

2. Adapters are shown in far:about.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Новые версии tinyxml2 и fmt.

2. Используемые адаптеры показываются в far:about.

--------------------------------------------------------------------------------
drkns 2018-07-14 20:45:49+01:00 - build 5237

1. Clang warnings.

2. Compiler is shown in far:about.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Clang warnings.

2. Использованный компилятор показывается в far:about.

--------------------------------------------------------------------------------
drkns 2018-07-08 14:29:41+01:00 - build 5236

1. Improve exceptions processing.

2. Refactoring.

--------------------------------------------------------------------------------
drkns 2018-07-07 14:31:27+01:00 - build 5235

1. Correction of 5215.

--------------------------------------------------------------------------------
drkns 2018-06-29 20:49:29+01:00 - build 5234

1. #54: Far crashes when trying to free up memory used to store Descript.ion file records

--------------------------------------------------------------------------------
drkns 2018-06-27 22:31:19+01:00 - build 5233

1. Continuation of 5068: remove storing filters and highlighting/sorting groups in the old format.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 5068: убрана запись фильтров и групп раскраски/сортировки в старом формате.

2. Рефакторинг.

--------------------------------------------------------------------------------
zg 2018-06-27 13:41:38+03:00 - build 5232

1. correction of 5222.

--------------------------------------------------------------------------------
drkns 2018-06-22 19:39:48+01:00 - build 5231

1. Correction of 5230.2.

--------------------------------------------------------------------------------
drkns 2018-06-21 22:26:50+01:00 - build 5230

1. 0003531: Sort far:config entries.

2. "Eat Your Own Dog Food" - implementation of #1 revealed inconveniences in Dialog API.
   FarListItem now contains intptr_t UserData in order to bind data to the list item
   not fiddling with sending messages (unrelated to DM_LIST<G|S>ETDATA, there's other data).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003531: Sort far:config entries.

2. "Eat Your Own Dog Food" - имплементация п.1 выявила неудобства в Dialog API.
   FarListItem теперь содержит intptr_t UserData для ассоциирования данных с элементом списка
   без ритуальных приседаний с посылкой сообщений (никак не связано с DM_LIST<G|S>ETDATA, там отдельные данные).

--------------------------------------------------------------------------------
drkns 2018-06-21 18:53:53+01:00 - build 5229

1. 0003621: It would be good to show "volume label" for network devices.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003621: Хорошо было бы показывать "метку тома" для сетевых устройств.

--------------------------------------------------------------------------------
w17 2018-06-20 17:40:35+03:00 - build 5228

1. M#3614: arclite does not update sizes of files inside archive if external editor is used

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#3614: arclite не обновляет размеры файлов внутри архива при использовании внешнего редактора

--------------------------------------------------------------------------------
svs 2018-06-09 18:11:19+03:00 - build 5227

1. SQLite 3.24.0

--------------------------------------------------------------------------------
zg 2018-06-05 12:47:24+03:00 - build 5226

1. do not sort panel while receiving file list from plugin.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. во время получения списка файлов от плагина панель не сортируется.

--------------------------------------------------------------------------------
drkns 2018-06-03 10:21:52+01:00 - build 5225

1. Naive logic "if the file contains ASCII only then open it with default codepage" would not take
   into account that user could set the default codepage to UTF-16.
   Also, simplify the codepage guessing logic.

2. Continuation of 5215, 5205, 5141 : date/time parsing in attributes/filters dialogs does not look for
   separators - we have got the input mask and know exactly what to search and where.

3. If editor settings have "[x] Allow editing files opened for writing" set then append FILE_SHARE_DELETE.

4. Correct the UTF-8 recognition algorithm.

5. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Наивная логика "если файл содержит только ASCII - открываем его с кодовой страницей по умолчанию" не учитывала,
   что пользователь может коварно назначить кодовой страницей по умолчанию какой-нибудь UTF-16.
   Там же: в целом упрощена логика угадывания кодовой страницы.

2. Продолжение 5215, 5205, 5141 : при разборе даты и времени, введенных в диалогах аттрибутов/фильтров,
   не используем парсинг по разделителям - у нас есть маска ввода и точное знание, где и что искать.

3. Если в настройках редактора "[x] Allow editing files opened for writing", то подставляем еще и FILE_SHARE_DELETE.

4. Уточнен алгоритм распознавания UTF-8.

5. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2018-05-28 17:48:30+01:00 - build 5224

1. After F3 on plugin panel and cancelling the scanning the allocated memory was not freed.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При нажатии F3 на панели плагина и отмене сканирования не освобождалась память.

2. Мелкий рефакторинг там же.

--------------------------------------------------------------------------------
drkns 2018-05-23 22:50:03+01:00 - build 5223

1. fmt v5.

2. VS2017 warning: std::all_of - nodiscard.

3. "Find all" menu could be bigger than needed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. fmt v5.

2. VS2017 warning: std::all_of - nodiscard.

3. Меню "Find all" могло быть больше чем нужно.

--------------------------------------------------------------------------------
zg 2018-05-23 16:25:25+03:00 - build 5222

1. crash if help is opened with menu and then the console window is closed with "X".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. если в меню вызвать помощь, а потом закрыть окно консоли через «крестик», фар падает.

--------------------------------------------------------------------------------
zg 2018-05-22 21:28:23+03:00 - build 5221

1. forum: If a dialog is redrawing something inside itself regularly (say, once a second)
   while user is trying to grab (AltIns) the part of console window
   then the displayed capture area is being reset constantly.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. с форума: Если диалог регулярно (например, ежесекундно) что-то у себя перерисовывает,
   а пользователь пытается грабить (AltIns) часть консольного окна,
   то отображаемая область захвата постоянно сбрасывается.

--------------------------------------------------------------------------------
drkns 2018-05-20 17:11:57+01:00 - build 5220

1. Links to main help file themes were erroneously considered external.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ссылки на темы основного файла помощи ошибочно считались внешними.

--------------------------------------------------------------------------------
drkns 2018-05-20 11:51:48+01:00 - build 5219

1. Forum: clock won't refresh.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: не обновляются часы.

--------------------------------------------------------------------------------
drkns 2018-05-19 15:06:40+01:00 - build 5218

1. Another odd bug after 5211.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Еще один нечётный баг после 5211.

--------------------------------------------------------------------------------
drkns 2018-05-19 13:37:59+01:00 - build 5217

1. Bring interface of handmade string_view closer to the standard one. Part 2 - iterators.

2. Use std::string_view (if present).

3. Metacharacters wouldn't expand in the caption of variable substitution dialog called from user menu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Приближаем интерфейс самодельного string_view к стандартному. Часть 2 - итераторы.

2. Используем std::string_view (если есть).

3. Не разворачивались метасимволы в заголовке диалога подстановки переменных, вызываемого из user menu.

--------------------------------------------------------------------------------
drkns 2018-05-18 21:42:40+01:00 - build 5216

1. Bring interface of handmade string_view closer to the standard one. Part 1 - _sv -> sv.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Приближаем интерфейс самодельного string_view к стандартному. Часть 1 - _sv -> sv.

--------------------------------------------------------------------------------
drkns 2018-05-17 21:55:24+01:00 - build 5215

1. Continuation of 5211 - odd bugs.

2. #0003608: 3.0.5214 x86 - changing attributes resets year to 2000 in DD.MM.YYYY (should be 5205).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 5211 - полезли нечётные баги.

2. #0003608: 3.0.5214 x86 - смена атрибутов сбрасывает у ДД.ММ.ГГГГ год в 2000 (а на самом деле 5205).

--------------------------------------------------------------------------------
drkns 2018-05-16 23:07:37+01:00 - build 5214

1. Use OS regional settings to group digits in numbers.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Для группировки цифр в числах используются региональные настройки ОС.

2. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2018-05-15 22:05:12+01:00 - build 5213

1. Another pair of corrections for 5211.

2. Refactoring.

--------------------------------------------------------------------------------
drkns 2018-05-14 19:29:57+01:00 - build 5212

1. Correction of 5211.

--------------------------------------------------------------------------------
drkns 2018-05-14 00:15:53+01:00 - build 5211

1. Refactoring. A lot of changes in fnparse.cpp, possible glitches in processing of metacharacters.

2. In some cases, possiblility of empty short filename returned by OS was ignored.
   Now it should be checked everywhere.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг. Много изменений в fnparse.cpp, возможны чудеса в обработке метасимволов.

2. В некоторых случаях не учитывалось, что ОС может возвращать для файла пустое короткое имя.
   Теперь вроде бы учитывается везде.

--------------------------------------------------------------------------------
drkns 2018-05-10 23:23:38+01:00 - build 5210

1. 0003606: Pause before displaying result of Ctrl+Q on folder

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003606: Задержка результата Ctrl+Q на папке

--------------------------------------------------------------------------------
drkns 2018-05-07 16:51:02+01:00 - build 5209

1. Remove unwanted things from headers.hpp. Part 3.

2. 0003605: Command 'cd /d' doesn't work in User Menu

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Убираем из headers.hpp то, чего там не должно быть. Часть 3.

2. 0003605: Command 'cd /d' doesn't work in User Menu

--------------------------------------------------------------------------------
zg 2018-05-06 17:39:35+03:00 - build 5208

1. AltF1 F4 Enter - the dialog disappears and appears again after cursor move.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. AltF1 F4 Enter - диалог пропал, после перемещения кусора - появляется.

--------------------------------------------------------------------------------
zg 2018-05-06 14:57:28+03:00 - build 5207

1. forum: Invoke Options->File panel modes dialog, then proceed to, say, Long descriptions and press Ctrl+Enter - the dialog disappears.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. с форума: Если вызвать диалог Options->File panel modes и перейти, например, на Long descriptions нажав затем Ctrl+Enter то диалог пропадет.

--------------------------------------------------------------------------------
drkns 2018-05-05 17:04:38+01:00 - build 5206

1. Remove unwanted things from headers.hpp. Part 2.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Убираем из headers.hpp то, чего там не должно быть. Часть 2.

--------------------------------------------------------------------------------
w17 2018-05-04 15:40:01+03:00 - build 5205

1. forum: crash while parsing a date out of spaces if the date separator is also a space.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. с форума: креш при парсинге даты из пробелов, если сепаратор даты тоже пробел.

--------------------------------------------------------------------------------
zg 2018-05-04 12:57:28+03:00 - build 5204

1. forum: unpacking an archive on Shift-F2: the name of the archive is not substituted as a folder for unpacking.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. с форума: распаковка архива по Shift-F2: не подставляется имя архива в качестве папки для распаковки.

--------------------------------------------------------------------------------
drkns 2018-05-03 21:55:10+01:00 - build 5203

1. Remove unwanted things from headers.hpp. Part 1.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Убираем из headers.hpp то, чего там не должно быть. Часть 1.

--------------------------------------------------------------------------------
drkns 2018-05-02 21:03:29+01:00 - build 5202

1. GCC 7.1 warning.

2. Possible truncation of a file name in copy dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. GCC 7.1 warning.

2. В имени файла в диалоге копирования могло обрезаться лишнее.

--------------------------------------------------------------------------------
drkns 2018-05-02 00:54:38+01:00 - build 5201

1. Possible garbage in drive change error dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В диалоге ошибки смены диска мог показываться мусор.

--------------------------------------------------------------------------------
drkns 2018-05-01 22:48:34+01:00 - build 5200

1. For some global objects independent of the rest of code and potentially required everywhere
   (imports, console, memcheck), use Nifty Counters to guarantee their availability at any time.

2. Incluse precompiled headers and memcheck with the compiler tools.

3. Other refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Для некоторых глобальных объектов, не зависящих от прочего кода и потенциально нужных везде
   (imports, console, memcheck) применим Nifty Counters для гарантии их наличия в любой момент времени.

2. Инклюдим precompiled headers и memcheck средствами компилятора.

3. Прочий рефакторинг.

--------------------------------------------------------------------------------
drkns 2018-04-28 17:04:23+01:00 - build 5199

1. Remove formatting with spaces from *.lng finally.

2. GCC.

3. Warnings.

4. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Из *.lng окончательно искорено форматирование пробелами.

2. GCC.

3. Warnings.

4. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2018-04-26 23:49:40+01:00 - build 5198

1. Do not show stack on *.lng reading errors.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не показываем стек при ошибках чтения *.lng.

--------------------------------------------------------------------------------
drkns 2018-04-25 20:44:36+01:00 - build 5197

1. Show no more than 5 processes in blocked file dialog.
   Also show additional information on the processes.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Показываем не более 5 процессов в диалоге о заблокированном файле.
   Показываем дополнительную информацию о процессах там же.

2. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2018-04-24 23:29:12+01:00 - build 5196

1. Because of introduction string_view::data() without terminating zero in C++17
   and potential bugs while replacing string to string_view where \0 is important,
   use string::c_str() instead string::data() where it is justified.

   A rule of thumb: if string::size() is used somewhere nearby then data() is ok, else use c_str().

   Examples:
   auto RawPointer = string.c_str();               // c_str here
   WinapiFunction1(string.c_str());                // c_str too
   WinapiFunction2(string.data(), string.size());  // data here

2. Minor refactoring related to #1.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В связи с появлением в C++17 string_view::data() без завершающего нуля
   и потенциальными багами при замене string на string_view там, где \0 важен -
   используем string::c_str() вместо string::data() там, где это логически оправдано.

   Rule of thumb: если где-то рядом используется string::size() - data() ok, иначе c_str().

   Примеры:
   auto RawPointer = string.c_str();               // тут c_str
   WinapiFunction1(string.c_str());                // тут тоже c_str
   WinapiFunction2(string.data(), string.size());  // тут data

2. Связанный с #1 мелкий рефакторинг.

--------------------------------------------------------------------------------
w17 2018-04-23 23:42:59+03:00 - build 5195

1. Correction of 5194.

--------------------------------------------------------------------------------
drkns 2018-04-21 20:27:25+01:00 - build 5194

1. Show less rubbish in Task List.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Показываем меньше мусора в списке задач.

--------------------------------------------------------------------------------
MZK 2018-04-15 18:17:41-07:00

1. Reworked @CodePagesMenu and @EditCodePageNameDlg help pages.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Переработал странички справки @CodePagesMenu и @EditCodePageNameDlg.

--------------------------------------------------------------------------------
MZK 2018-04-14 14:38:52-07:00 - build 5193

1. Reworked @FindAllMenu and @FileOpenCreate help pages.

2. Minor improvement of the Find-all menu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Переработал странички справки @FindAllMenu и @FileOpenCreate.

2. Маленькое улучшение меню с результатами поиска всех вхождений.

--------------------------------------------------------------------------------
drkns 2018-04-14 19:18:53+01:00 - build 5192

1. Continuation of 5190.

--------------------------------------------------------------------------------
drkns 2018-04-14 11:34:11+01:00 - build 5191

1. Continuation of 5190.

--------------------------------------------------------------------------------
drkns 2018-04-13 23:41:30+01:00 - build 5190

1. Continue experimenting with launcher - now it is also used to launch links from help pages.
   Side effect - one can launch http://example.com etc. from command line.
   Also trying to define console-ness for the specified of associated program if shortcuts are launched.

2. GCC 7.3.

3. Correction of 5188.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение экспериментов с запускателем - теперь он используется и для запуска ссылок из помощи.
   Побочный эффект - из комстроки можно запускать http://example.com и т.п.
   Там же - пытаемся определять консольность указанной или ассоциированной программы в том числе и при запуске ярлыков.

2. GCC 7.3.

3. Уточнение 5188.

--------------------------------------------------------------------------------
svs 2018-04-12 20:41:01+03:00 - build 5189

1. SQLite 3.23.1

--------------------------------------------------------------------------------
drkns 2018-04-09 07:48:13+01:00 - build 5188

1. Limit the Find-All menu hight to the half of the window heigh.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ограничим высоту меню с результатами поиска всех вхождений половиной высоты окна.

--------------------------------------------------------------------------------
drkns 2018-04-09 07:28:34+01:00 - build 5187

1. Forum: Bug in renaming (Shift-F6) a file on a network share.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума - Ошибка при переименовании (Shift-F6) файла на сетевой шаре.

--------------------------------------------------------------------------------
drkns 2018-04-08 13:30:30+01:00 - build 5186

1. Removed 'System settings / CD drive auto mount' (Windows 9x artefact, forgotten in 662).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Удалена опция System settings / CD drive auto mount (артефакт Windows 9x, забытый в 662).

--------------------------------------------------------------------------------
MZK 2018-04-07 21:20:12-07:00 - build 5185

1. Find-all menu disappeared after go to a bookmark (LeftCtrl+0..9).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Меню Найти-все исчезало после перехода к закладке (LeftCtrl+0..9).

--------------------------------------------------------------------------------
drkns 2018-04-05 11:07:08+03:00 - build 5184

1. Correction of 5182.

--------------------------------------------------------------------------------
svs 2018-04-04 20:22:36+03:00 - build 5183

1. SQLite 3.23.0

--------------------------------------------------------------------------------
drkns 2018-04-04 19:02:50+03:00 - build 5182

1. Repeated search of the string suffix did not work (aftermath of 5181). Try to fix another way.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не работал повторный поиск окончания строки (последствия 5181). Попробуем исправить иначе.

--------------------------------------------------------------------------------
MZK 2018-04-02 20:46:14-07:00 - build 5181

1. Fixed buffer overflow in SearchString + refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Починил переполнение буфера в SearchString + рефакторинг.

--------------------------------------------------------------------------------
drkns 2018-04-02 16:36:26+03:00 - build 5180

1. Correction of 5175.

--------------------------------------------------------------------------------
zg 2018-04-02 13:55:55+03:00 - build 5179

1. ctrlenter in "menu with the list of all matching entries" incorrectly refreshed the screen.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. ctrlenter в "меню с результатами поиска всех вхождений" некорректно перерисовывал экран.

--------------------------------------------------------------------------------
w17 2018-04-02 12:04:49+03:00 - build 5178

1. Extract alternate streams from .wim archives

--------------------------------------------------------------------------------
drkns 2018-03-31 01:41:08+03:00 - build 5177

1. Use std::any (if present).

--------------------------------------------------------------------------------
drkns 2018-03-30 11:35:45+03:00 - build 5176

1. Continuation of 5175.

--------------------------------------------------------------------------------
drkns 2018-03-29 13:05:45+03:00 - build 5175

1. Forum: crash on File panel modes -> Ins Enter.

2. Incorrect deletion of multiple selected symlinks.

3. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: падение при File panel modes -> Ins Enter.

2. Некорректно работало удаление нескольких выделенных симлинков.

3. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2018-03-23 19:16:27+00:00 - build 5174

1. Continuation of 5173 - similar changes in deletion progress window.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 5173 - аналогичные изменения в прогрессе удаления.

--------------------------------------------------------------------------------
drkns 2018-03-23 00:15:02+00:00 - build 5173

1. Folder scanning window is rearranged:
   - now it always looks identical (F3 on a folder, before copying, before deleting)
   - total size and number of items is displayed
   - F3 on multiple folders does not flicker any more.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Немного переделан "диалог" сканирования папок:
   - теперь это всегда (F3 на папке, перед копированием, перед удалением) выглядит одинаково
   - выводится суммарный размер и количество элементов
   - F3 на нескольких папках больше не дёргается и не мерцает.

--------------------------------------------------------------------------------
drkns 2018-03-20 21:35:50+00:00 - build 5172

1. Correction of 5171.

--------------------------------------------------------------------------------
drkns 2018-03-19 22:47:53+00:00 - build 5171

1. Choice of standard association in archive plugin choice menu worked incorrectly.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В меню выбора архивного плагина неадекватно работал выбор стандартной ассоциации.

2. Рефакторинг.

--------------------------------------------------------------------------------
MZK 2018-03-18 21:30:11-07:00

1. Rewrote @PreserveStyle help page (Both English and Russian).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Переписал страницу @PreserveStyle справки (английскую и русскую).

--------------------------------------------------------------------------------
drkns 2018-03-14 22:33:55+00:00 - build 5170

1. Non-functional cosmetics:
   - virtual override -> override
   - (void) -> ()
   - // fallthrough -> [[fallthrough]];
   - --memcpy

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Нефункциональная косметика:
   - virtual override -> override
   - (void) -> ()
   - // fallthrough -> [[fallthrough]];
   - --memcpy

--------------------------------------------------------------------------------
drkns 2018-03-14 10:01:32+00:00 - build 5169

1. A couple of corrections of 5168.

--------------------------------------------------------------------------------
drkns 2018-03-13 22:40:25+00:00 - build 5168

1. Refactoring.

2. clang warnings.

3. Corrections of 5154.

--------------------------------------------------------------------------------
yjh 2018-03-11 14:04:57+03:00 - build 5167

1. Corrections for old OS versions support with the use of DelayLoad

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнения в поддержке старых версий системы с использованием DelayLoad

--------------------------------------------------------------------------------
drkns 2018-03-11 09:47:19+00:00 - build 5166

1. 0003591: F9 "Right" item is highlighted while "Left" is not

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003591: По F9 пункт "Правая" подсвечивается, а "Левая" нет

--------------------------------------------------------------------------------
drkns 2018-03-10 21:35:39+00:00 - build 5165

1. Correction of 5164.1.

--------------------------------------------------------------------------------
drkns 2018-03-10 20:23:38+00:00 - build 5164

1. Fix VS2017.6 warnings instead of suppressing them.

2. "NoDrives" OS policy was not applied to detached network volumes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Исправим предупреждения VS2017.6 вместо их подавления.

2. Политика ОС "NoDrives" не применялась к отключённым сетевым дискам.

--------------------------------------------------------------------------------
drkns 2018-03-05 19:15:49+00:00 - build 5163

1. Correction of 5161.

--------------------------------------------------------------------------------
drkns 2018-03-05 08:01:15+00:00 - build 5162

1. Fix VS2015 build.

--------------------------------------------------------------------------------
drkns 2018-03-04 22:56:16+00:00 - build 5161

1. Static analysis warnings.

2. Refactoring.

--------------------------------------------------------------------------------
drkns 2018-03-03 17:24:57+00:00 - build 5160

1. Do not mix narrow and wide characters in fmt calls.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не смешиваем узкие и широкие символы в вызовах fmt.

--------------------------------------------------------------------------------
zg 2018-03-03 17:11:47+02:00 - build 5159

1. correction of 5049: crash after passing null pointer to PointToName.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 5049: PointToName падала при передачи нулевого указателя.

--------------------------------------------------------------------------------
drkns 2018-03-02 13:57:21+00:00 - build 5158

1. Correction of 5155.

--------------------------------------------------------------------------------
drkns 2018-03-02 09:54:21+00:00 - build 5157

1. Correction of 5155.

--------------------------------------------------------------------------------
drkns 2018-03-02 09:28:54+00:00 - build 5156

1. Correction of 5155.

--------------------------------------------------------------------------------
drkns 2018-03-01 21:45:36+00:00 - build 5155

1. Refactoring.

--------------------------------------------------------------------------------
MZK 2018-02-28 22:26:27-08:00

1. Translated and edited @Viewer help page (both English and Russian).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Перевёл и поредактировал страницу @Viewer справки (английскую и русскую).

--------------------------------------------------------------------------------
drkns 2018-03-01 00:25:44+00:00 - build 5154

1. Continuation of 5150.3.

2. Refactoring.

--------------------------------------------------------------------------------
zg 2018-02-28 14:24:01+02:00 - build 5153

1. ECTL_SETSTRING did not set eol when the string is empty.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. ECTL_SETSTRING при пустой строке не устанавливал eol.

--------------------------------------------------------------------------------
zg 2018-02-27 13:51:24+02:00 - build 5152

1. Correction of 5150.2.

--------------------------------------------------------------------------------
drkns 2018-02-26 00:18:23+00:00 - build 5151

1. fmt v5.

--------------------------------------------------------------------------------
drkns 2018-02-25 23:42:42+00:00 - build 5150

1. Sorting settings (numeric & case-sensitive) are moved to System Settings.
   Base comparison mode (linguistic / invariant / ordinal) now can be set there as well.
   Sorting settings are applied globally across the board.

2. The function FSF.CompareStrings is available to plugins. It allows to sort the way Far sorts
   (exactly how is not specified and depends on the settings).
   FSF.LStricmp and FSF.LStrnicmp - deprecated; their use is discouraged.

3. FCTL_SETNUMERICSORT, FCTL_SETCASESENSITIVESORT, PFLAGS_NUMERICSORT, PFLAGS_CASESENSITIVESORT do not exist anymore.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Настройки сортировки (numeric & case-sensitive) вынесены в System Settings.
   Там же теперь можно выбрать базовое сравнение (linguistic / invariant / ordinal).
   Настройки сортировки применяются глобально ко всему.

2. Для плагинов доступна функция FSF.CompareStrings, позволяющая сортировать так же, как сортирует Far (как именно - не оговорено и зависит от настроек).
   FSF.LStricmp и FSF.LStrnicmp - deprecated и не рекомендуются к использованию.

3. FCTL_SETNUMERICSORT, FCTL_SETCASESENSITIVESORT, PFLAGS_NUMERICSORT, PFLAGS_CASESENSITIVESORT больше нет.

--------------------------------------------------------------------------------
MZK 2018-02-22 23:18:21-08:00

1. Edited @CopyFiles help page (English and Russian).

2. Minor help additions and corrections; English translation.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Отредактировал страницу @CopyFiles справки (английскую и русскую).

2. Мелкие добавления и уточнения справки, перевод на английский.

--------------------------------------------------------------------------------
MZK 2018-02-21 22:37:57-08:00 - build 5149

1. Fixed VC15 64-bit compilation error: C3487: 'int': all return expressions must deduce to the same type: previously it was '__int64'.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Пофиксил ошибку компиляции в VC15 64-бит: C3487: 'int': all return expressions must deduce to the same type: previously it was '__int64'.

--------------------------------------------------------------------------------
drkns 2018-02-21 21:29:53+00:00 - build 5148

1. Numeric sort is now more like "as in Windows" with regard to sequences of zeros.

2. In Windows 7 and above, the system function (SORT_DIGITSASNUMBERS) is used for case-insensitive numeric sort.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Числовая сортировка теперь больше похожа на "как в Windows" в плане обработки идущих подряд нулей.

2. В Windows 7 и выше для регистронезависимой числовой сортировки используется системная функция (SORT_DIGITSASNUMBERS).

--------------------------------------------------------------------------------
drkns 2018-02-21 01:56:58+00:00 - build 5147

1. Show module name in the stack trace.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Показываем имя модуля в stack trace.

--------------------------------------------------------------------------------
zg 2018-02-17 17:43:21+02:00 - build 5146

1. 0003580: Text in input field is shifted when entering text in another field.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003580: Текст в поле ввода смещается при вводе текста в другое поле.

--------------------------------------------------------------------------------
MZK 2018-02-13 23:19:56-08:00

1. Description of columns and stripes on @PanelViewModes and @PanelSettings help pages.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Описание колонок и полос в страничках @PanelViewModes и @PanelSettings.

--------------------------------------------------------------------------------
drkns 2018-02-13 20:42:25+00:00 - build 5145

1. Refactoring.

2. Autodetect gcc platform.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг.

2. Автодетект платформы при сборке в gcc.

--------------------------------------------------------------------------------
MZK 2018-02-11 19:01:14-08:00 - build 5144

1. In the FileList class, renamed "global columns" to "stripes" + refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В классе FileList переименовал "global columns" в "stripes" + рефакторинг.

--------------------------------------------------------------------------------
drkns 2018-02-11 14:03:19+00:00 - build 5143

1. Correction of 5140 - revert trimming of spaces in lists.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 5140 - вернём обрезание пробелов в списках.

2. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2018-02-09 00:33:16+00:00 - build 5142

1. Correction of 5140 - revert the logic "separator in square brackets is not a separator" for lists of masks.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 5140 - вернём логику "если разделитель в квадратных скобках, то это не разделитель" для списков масок.

2. Рефакторинг.

--------------------------------------------------------------------------------
w17 2018-02-08 15:04:43+03:00 - build 5141

1. Forum: Commas in date

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Форум: Запятые в дате

--------------------------------------------------------------------------------
drkns 2018-02-07 23:31:59+00:00 - build 5140

1. Unify Go To dialogs (Alt+F8) in viewer and editor - now this is one dialog. Bugs are expected.

2. UserDefinedList is fully removed. String tokenization is now lazy everywhere and does minimum or zero allocations.

3. Other refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Унифицированы диалоги Go To (Alt+F8) во вьювере и редакторе - теперь это один диалог. Возможны баги.

2. Окончательно истреблен UserDefinedList. Токенизация строк теперь везде ленивая и с минимальным или нулевым количеством аллокаций.

3. Прочий рефакторинг.

--------------------------------------------------------------------------------
MZK 2018-02-04 22:16:59-08:00

1. Translated @FindFileAdvanced and @PanelSettings help pages to English in FarEng.hlf.m4.

2. Added missing option descriptions to Russian and English help.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Перевёл на английский странички @FindFileAdvanced и @PanelSettings в FarEng.hlf.m4.

2. Добавил отсутсвующие описания параметров в русскую и английскую справку.

--------------------------------------------------------------------------------
w17 2018-02-05 01:51:12+03:00 - build 5139

1. fix 5136.2

--------------------------------------------------------------------------------
zg 2018-02-04 19:58:46+02:00 - build 5138

1. guid for "Plugin information" dialog.

--------------------------------------------------------------------------------
zg 2018-02-04 15:03:05+02:00 - build 5137

1. if the height of editor/viewer is less than 3 then the hotkeys panel is not shown.

2. if the height of editor/viewer is less than 2 then the status line is not shown.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. если высота редактора/просмотра меньше трёх - панель клавиш не показывается.

2. если высота редактора/просмотра меньше двух - статусная строка не показывается.

--------------------------------------------------------------------------------
drkns 2018-02-03 14:02:24+00:00 - build 5136

1. There were no warnings on rewrite when moving multiple files into one of them.
   An old bug existing from 1.0 b4.

2. GH #22: Add support for symbolic links creation without elevation.

3. Corrections of hlf, lng and documentation.

4. Support for git in update_headers.bat

5. Minor fixes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не выдавались предупреждения о перезаписи при переносе нескольких файлов в один из них.
   Древнейший баг, существует аж с 1.0 b4.

2. GH #22: Add support for symbolic links creation without elevation.

3. Уточнения hlf, lng и документации.

4. Поддержка git в update_headers.bat

5. Пара мелочей.

--------------------------------------------------------------------------------
MZK 2018-02-01 22:43:46-08:00

1. Translated @FindFile help page to English in FarEng.hlf.m4.

2. Replaced "codepage" with "code page" in the help and resource files.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Перевёл на английский страничку @FindFile в FarEng.hlf.m4.

2. В справке и файле ресурсов заменил "codepage" на "code page".

--------------------------------------------------------------------------------
zg 2018-02-01 22:12:58+02:00 - build 5135

1. In the part-screen editor/viewer, only editor/viewer was redrawn after CtrlO.

2. In the part-screen editor/viewer, CtrlB/CtrlShiftB did not work.

3. Forum: In the part-screen editor/viewer, hotkey panel sometimes did not refresh.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. в неполноэкранном редакторе/просмотре после ctrlo отрисовывался только редактор/просмотр.

2. в неполноэкранном редакторе/просмотре не работали ctrlb/ctrlshiftb.

3. с форума: в неполноэкранном редакторе/просмотре не всегда отрисовывалась панель клавиш.

--------------------------------------------------------------------------------
MZK 2018-01-28 15:50:33-08:00

1. Translated @FarAbout and @FarConfig help pages to English in FarEng.hlf.m4.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Перевёл на английский странички @FarAbout and @FarConfig в FarEng.hlf.m4.

--------------------------------------------------------------------------------
zg 2018-01-27 14:55:05+02:00 - build 5134

1. 0003577: Incorrect UNDO functioning after Editor.InsStr.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003577: Неправильная работа UNDO после Editor.InsStr.

--------------------------------------------------------------------------------
drkns 2018-01-25 22:03:48+00:00 - build 5133

1. '@' in launcher now turns off the echo.

2. 0003525: FCTL_SETUSERSCREEN: undesirable carriage return.
   Suppress it by passing 1 to Param1.

3. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. '@' в запускателе теперь подавляет эхо.

2. 0003525: FCTL_SETUSERSCREEN: нежелательный перевод строки.
   Чтобы перевода не было - передавайте 1 в Param1.

3. Рефакторинг.

--------------------------------------------------------------------------------
svs 2018-01-24 11:56:03+03:00 - build 5132

1. SQLite 3.22.0

--------------------------------------------------------------------------------
drkns 2018-01-24 07:37:22+00:00 - build 5131

1. '@' now has no meaning in launcher and is ignored.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. '@' в запускателе больше не имеет сакрального смысла и просто игнорируется.

--------------------------------------------------------------------------------
zg 2018-01-21 15:17:46+02:00 - build 5130

1. correction of 5118.

--------------------------------------------------------------------------------
drkns 2018-01-20 15:25:15+00:00 - build 5129

1. Forum: F5 in filters menu works for the next item

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: В меню фильтров F5 отрабатывает для следующего элемента

--------------------------------------------------------------------------------
drkns 2018-01-15 21:52:18+00:00 - build 5128

1. 0003575: Selection with "+" with the use of filters

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003575: Выделение "+", используя фильтр

--------------------------------------------------------------------------------
zg 2018-01-15 17:29:26+02:00 - build 5127

1. SendDlgMessage(hDlg,DM_ENABLEREDRAW,TRUE,0) forbid dialog redraw if it was enabled.

2. excessive DM_ENABLEREDRAW calls in color settings menu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. SendDlgMessage(hDlg,DM_ENABLEREDRAW,TRUE,0) запрещал отрисовку диалога, если она была разрешена.

2. лишние вызовы DM_ENABLEREDRAW в меню настройки цветов.

--------------------------------------------------------------------------------
drkns 2018-01-11 23:30:04+00:00 - build 5126

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2018-01-11 16:23:01+00:00 - build 5125

1. 0003574: Alt+F7 search won't work in directories if their names contain a comma

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003574: Поиск по Alt+F7 не работает в каталогах, где в названии есть запятая

--------------------------------------------------------------------------------
drkns 2018-01-10 23:23:33+00:00 - build 5124

1. Private buffer for ostream as a replacement for CachedWrite.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Собственный буфер для ostream как замена CachedWrite.

--------------------------------------------------------------------------------
zg 2018-01-07 17:29:09+02:00 - build 5123

1. after 5118 filling of autocompletion menu vas visible.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. после 5118 было видно, как заполняется меню автодополнения.

--------------------------------------------------------------------------------
drkns 2018-01-06 18:38:21+00:00 - build 5122

1. Standard input/output streams use their own buffer (for more correct processing of unicode).

2. New version of tinyxml2.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Для стандартных потоков ввода-вывода используется собственный буфер (для более адекватной работы с юникодом).

2. Новая версия tinyxml2.

--------------------------------------------------------------------------------
drkns 2018-01-05 23:03:50+00:00 - build 5121

1. Fixes for handling exceptions.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Всякое на тему обработки исключений.

--------------------------------------------------------------------------------
drkns 2018-01-05 21:47:18+00:00 - build 5120

1. Static analysis warnings & minor refactoring.

--------------------------------------------------------------------------------
drkns 2018-01-04 18:17:13+00:00 - build 5119

1. Correction of 5108.

2. Optimization for GetFileString.

--------------------------------------------------------------------------------
zg 2018-01-04 15:56:53+02:00 - build 5118

1. reduce the number of redraws for vertical menu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уменьшено количество перерисовок вертикального меню.

--------------------------------------------------------------------------------
zg 2018-01-04 14:17:44+02:00 - build 5117

1. if the dialog has cancelled moving while ctrlf5 effect, the keypress is passed to the dialog procedure.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. если при нажатии ctrlf5 диалог отказался от перемещения, нажатие отдаётся в диалоговую процедуру.

--------------------------------------------------------------------------------
zg 2017-12-30 19:30:26+02:00 - build 5116

1. 0003573: If File View (F3) is invoked from Find Files (Alt-F7) results, switching to Edit (F6) shows Find Files dialog.

--------------------------------------------------------------------------------
drkns 2017-12-27 21:45:47+00:00 - build 5115

1. Correction of 5114.

--------------------------------------------------------------------------------
drkns 2017-12-21 21:50:42+00:00 - build 5114

1. After 4563 the recursive tree walk would not enter DFS catalogs.
   Conceptually, while walking the tree we are only interested in junction and symlink, but FILE_ATTRIBUTE_REPARSE_POINT
   can formally mean anything, therefore checking only this attribute is not enough.
   Now protection from recursive links and other useful and useless intellect in this and other places
   is applied only to IO_REPARSE_TAG_MOUNT_POINT and IO_REPARSE_TAG_SYMLINK.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. После 4563 рекурсивный обход дерева не спускался в DFS-каталоги.
   Концептуально в обходе дерева нас интересуют только junction и symlink, но FILE_ATTRIBUTE_REPARSE_POINT
   формально может означать что угодно, поэтому проверять один этот атрибут недостаточно.
   Теперь защита от рекурсивных линков и прочий нужный и ненужный интеллект в этом и других местах
   распространяется только на IO_REPARSE_TAG_MOUNT_POINT и IO_REPARSE_TAG_SYMLINK.

--------------------------------------------------------------------------------
drkns 2017-12-20 23:36:38+00:00 - build 5113

1. Another correction of 5108.

2. For lines inserted by ansi plugins, explicit absence of EOL could be ignored.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. И ещё раз уточнение 5108.

2. Для строк, вставляемых ansi-плагином, могло игнорироваться явно заданное отсутствие EOL.

--------------------------------------------------------------------------------
drkns 2017-12-20 12:25:34+00:00 - build 5112

1. G#12 - correction of 5108.

--------------------------------------------------------------------------------
drkns 2017-12-20 07:56:47+00:00 - build 5111

1. Correction of 5108.1 - bugs as expected.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 5108.1 - как и обещано, баги были.

--------------------------------------------------------------------------------
drkns 2017-12-19 23:12:07+00:00 - build 5110

1. Remove excessively smart processing of prefixes (rollback down to 1840), it also fixes G#11.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Убран излишний интеллект в обработке префиксов (по сути откат аж 1840), что попутно исправляет G#11.

2. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2017-12-19 08:16:14+00:00 - build 5109

1. Correction of 5108.

--------------------------------------------------------------------------------
drkns 2017-12-18 19:00:52+00:00 - build 5108

1. Refactoring. Weird processing of line ends in editor has been redone. Bugs are possible.

2. Support for the next VS2017 update.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг. Несколько переделана причудливая работа с концами строк в редакторе. Возможны баги.

2. Поддержка очередного апдейта VS2017.

--------------------------------------------------------------------------------
drkns 2017-12-17 16:24:34+00:00 - build 5107

1. 0003120: Search and Replace in Editor fails if Replace pattern contains 0x0D + Search Pattern
   Also, block Undo has been added.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003120: Search and Replace in Editor fails if Replace pattern contains 0x0D + Search Pattern
   Там же добавлено блочное Undo, дабы скрыть тот факт, что замена производится per rectum.

--------------------------------------------------------------------------------
drkns 2017-12-13 17:28:49+00:00 - build 5106

1. arclite and netbox could get unexpected values from apiCreateFile.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. arclite и netbox могли получать неожиданные значения из apiCreateFile.

--------------------------------------------------------------------------------
zg 2017-11-30 02:10:31+02:00 - build 5105

1. 0003529: FE_GOTFOCUS is not sent on panel create.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003529: Не приходит FE_GOTFOCUS после создания панели.

--------------------------------------------------------------------------------
zg 2017-11-29 23:09:27+02:00 - build 5104

1. 0003561: Macro area is not changed on QView switch off.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003561: При выключении QView не меняется макрообласть.

--------------------------------------------------------------------------------
zg 2017-11-29 18:50:13+02:00 - build 5103

1. 0002737: FCTL_SETPANELDIR closes plugin panels for no purpose.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002737: FCTL_SETPANELDIR напрасно закрывает панели плагинов.

--------------------------------------------------------------------------------
zg 2017-11-28 17:39:59+02:00 - build 5102

1. FCTL_SETPANELDIRECTORY: always returned TRUE for plugin panels.

2. FCTL_SETPANELDIRECTORY: OPM_SILENT flag would not be used when setting the directory for a plugin panel.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. FCTL_SETPANELDIRECTORY: для плагиновых панелей всегда возвращалось TRUE.

2. FCTL_SETPANELDIRECTORY: при установке директории на плагиновой панели не использовался флаг OPM_SILENT.

--------------------------------------------------------------------------------
drkns 2017-11-26 21:10:49+00:00 - build 5101

1. Don't use GetThreadLocale().

--------------------------------------------------------------------------------
zg 2017-11-26 17:18:49+02:00 - build 5100

1. remove implementation of panel.SetPath macro function.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. удалена реализация макрофункции panel.SetPath.

--------------------------------------------------------------------------------
drkns 2017-11-26 14:25:46+00:00 - build 5099

1. Correction of 5068 - more correct loading for filters of old format.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 5068 - более корректно загружаем фильтры в старом формате.

2. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2017-11-23 22:33:18+00:00 - build 5098

1. 0003554: "Search only in the first" parameter is not taken into account in repeated search

2. "Search only in the first" has not been working for 9 years now.

3. 0003558: No search result in FindFiles if current directory ends with a space character

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003554: Параметр "Search only in the first" не учитывается при повторном поиске

2. "Search only in the first" вообще не работало, причем уже аж 9 лет как.

3. 0003558: No search result in FindFiles if current directory ends with a space character

--------------------------------------------------------------------------------
drkns 2017-11-15 21:09:49+00:00 - build 5097

1. Correction of 5095.1.

--------------------------------------------------------------------------------
drkns 2017-11-15 18:56:07+00:00 - build 5096

1. Correction of 5095.1.

--------------------------------------------------------------------------------
drkns 2017-11-14 22:59:35+00:00 - build 5095

1. Refactoring.

2. A new version for fmt.

3. Some help translation.

4. gcc min version is 7.1.

--------------------------------------------------------------------------------
zg 2017-11-11 01:34:14+02:00 - build 5094

1. correction of 5090.

--------------------------------------------------------------------------------
pmisik 2017-11-08 18:40:00+00:00 - build 5093

1. Support to expand environment variables in title

--------------------------------------------------------------------------------
drkns 2017-11-07 20:28:56+00:00 - build 5092

1. 0002323: WindowMode: click in empty space opens menu
   0002648: Mouse selection for copying from the console buffer when MindowMode=true

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002323: WindowMode: клик в пустом пространстве вызывает меню
   0002648: Выделение мышью для копирования консольного буфера в режиме WindowMode=true

--------------------------------------------------------------------------------
drkns 2017-11-05 15:25:38+00:00 - build 5091

1. Smarter clipping of command line prompt (by its components).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Более интеллектуальное обрезание приглашения командной строки (покомпонентно).

--------------------------------------------------------------------------------
zg 2017-11-04 20:22:28+02:00 - build 5090

1. rollback of 5082.

2. the last FCTL_SETUSERSCREEN always closes Desktop.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. откат 5082.

2. последняя FCTL_SETUSERSCREEN всегда закрывает Desktop.

--------------------------------------------------------------------------------
shmuel 2017-11-03 16:34:19+02:00 - build 5089

1. Correction of 5088.

--------------------------------------------------------------------------------
shmuel 2017-11-03 16:12:16+02:00 - build 5088

1. Correction of 4575 for plugin panels.

--------------------------------------------------------------------------------
zg 2017-11-03 13:24:25+02:00 - build 5087

1. various combinations of ctrl, alt and shift do not interrupt selection in editor and do not close quick search in panels.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. всевозможные сочетания ctrl, alt и shift не прерывают выделение в редакторе и не закрывают быстрый поиск в панелях.

--------------------------------------------------------------------------------
drkns 2017-11-01 22:08:24+00:00 - build 5086

1. An excessive item is removed from user name format settings in info panel.

2. English translation in Help.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Из настроек формата имени пользователя в инфопанели убран лишний пункт.

2. English translation in Help.

--------------------------------------------------------------------------------
drkns 2017-11-01 17:34:28+00:00 - build 5085

1. In some cases, instructions at the beginning of language files could be ignored.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В некоторых случаях могли игнорироваться инструкции в начале языковых файлов.

--------------------------------------------------------------------------------
drkns 2017-10-31 18:35:11+00:00 - build 5084

1. "lua:panel.GetUserScreen(), then f10 and exit - crash".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. "lua:panel.GetUserScreen(), потом f10 и выход - падает".

--------------------------------------------------------------------------------
w17 2017-10-31 20:58:37+03:00 - build 5083

1. Panel.ShowBytes setting will be visible to plugins.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Настройка Panel.ShowBytes будет видна плагинам.

--------------------------------------------------------------------------------
zg 2017-10-30 18:50:05+02:00 - build 5082

1. plugin prefixes are processed outside of launcher context.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. плагиновые префиксы обрабатываются вне контекста запускателя.

--------------------------------------------------------------------------------
drkns 2017-10-29 19:39:55+00:00 - build 5081

1. Error in processing the "%z" parameter of date() function - DST bias was always taken into account.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ошибка в обработке параметра "%z" функции date() - DST bias учитывался всегда, а не когда надо.

--------------------------------------------------------------------------------
drkns 2017-10-29 15:39:04+00:00 - build 5080

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2017-10-28 12:18:36+01:00 - build 5079

1. Refactoring - rename & move.

--------------------------------------------------------------------------------
svs 2017-10-27 21:18:41+03:00 - build 5078

1. SQLite 3.21.0

--------------------------------------------------------------------------------
drkns 2017-10-26 23:03:02+01:00 - build 5077

1. Correction of 5076.2 - synchronize caching.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 5076.2 - синхронизация кеширования.

--------------------------------------------------------------------------------
drkns 2017-10-26 20:06:28+01:00 - build 5076

1. Forum: crash on delete with privilege escalation.

2. Caching LookupPrivilegeValue results.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: падение на операции удаления с повышением прав.

2. Кеширование результатов LookupPrivilegeValue.

--------------------------------------------------------------------------------
drkns 2017-10-26 00:01:39+01:00 - build 5075

1. Continuation of 3503: pass LastError / LastNtStatus state into Message directly, not via global variables.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 3503: передача состояния LastError / LastNtStatus в Message напрямую, а не через глобальные пременные.

--------------------------------------------------------------------------------
drkns 2017-10-25 22:37:34+01:00 - build 5074

1. The sorting groups work only in modes by name and by extension just like before.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Группы сортировки работают только в режимах по имени и расширению, как раньше.

--------------------------------------------------------------------------------
drkns 2017-10-25 19:02:49+01:00 - build 5073

1. Correction of 5071 - OEM CP by default.

--------------------------------------------------------------------------------
zg 2017-10-25 13:41:20+03:00 - build 5072

1. 0003524: FCTL_SETUSERSCREEN and dialogs.

--------------------------------------------------------------------------------
drkns 2017-10-24 20:41:53+01:00 - build 5071

1. Correction of 5067 - broken logic "when neither the correct lng nor the english one is found then use anything".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 5067 - отломалась логика "если не нашли правильный lng и английский тоже не нашли - используем что попало".

--------------------------------------------------------------------------------
drkns 2017-10-23 20:20:30+01:00 - build 5070

1. Malfunctioning query for privileges when copying symlinks.

2. A couple of issues.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не работал запрос прав при копировании симлинков.

2. Пара мелочей.

--------------------------------------------------------------------------------
zg 2017-10-20 17:09:22+03:00 - build 5069

1. forum: Dialog redrawing error in Viewer.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. с форума: Ошибка перерисовки диалога в Просмотрщике.

--------------------------------------------------------------------------------
drkns 2017-10-19 20:23:16+01:00

1. Fix gcc build.

2. Since I had broken gcc 5 support for 3 weeks ago and nobody complained, the minimum version is now 6.0.

3. Check for presence of Update 3 for VS2015.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Исправлена сборка в gcc.

2. Поскольку я уже три недели как сломал поддержку gcc 5 и никто не жаловался - минимальная версия теперь 6.0.

3. Для VS2015 проверяется наличие Update 3.

--------------------------------------------------------------------------------
drkns 2017-10-19 01:07:23+01:00 - build 5068

1. Inner representation of time uses standard time_point and duration instead FILETIME and raw numbers if possible. The changes are extensive, bugs are expected.

2. Unify the format for filters and highlighting/sorting groups because of too much copy-paste.
   For compatibility the old format is still supported both ways (read and written).
   After a while, the support will be removed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Для внутреннего представления времени по возможности используются стандартные time_point и duration вместо FILETIME и голых чисел. Изменения масштабные, возможны баги.

2. Унифицирован формат фильтров и групп раскраски/сортировки, ибо слишком много копипасты.
   В целях совместимости старый формат пока что поддерживается в обе стороны (и читается, и пишется).
   Через некоторое время поддержка будет убрана.

--------------------------------------------------------------------------------
drkns 2017-10-18 00:47:15+01:00 - build 5067

1. Forum: incorrect displaying of help (actually reading, see "even number of bugs") if its language does not match the current one.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: некорректное отображение помощи (а на самом деле чтение - см. "четное количество багов"), если её язык не совпадает с текущим.

--------------------------------------------------------------------------------
zg 2017-10-16 17:28:26+03:00 - build 5066

1. 0002760: Separate macro areas for GRABBER, HMENU, DESKTOP.

2. 0002761: Publish WTYPE_GRABBER, WTYPE_HMENU, WTYPE_DESKTOP, WTYPE_FINDFOLDER constants in API.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002760: Отдельные макрообласти для GRABBER, HMENU, DESKTOP.

2. 0002761: Отдать в АПИ константы WTYPE_GRABBER, WTYPE_HMENU, WTYPE_DESKTOP, WTYPE_FINDFOLDER.

--------------------------------------------------------------------------------
zg 2017-10-15 16:22:28+03:00 - build 5065

1. correction of 5050.1: macro Align Block Special is broken.

--------------------------------------------------------------------------------
drkns 2017-10-11 22:04:47+01:00 - build 5064

1. Privilege escalation on directory creation was broken in 5049.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В 5049 погнулось повышение привилегий при создании папки.

--------------------------------------------------------------------------------
zg 2017-10-08 14:45:39+03:00 - build 5063

1. 0003514: Possibility of setting priority for macros defined via MCTL_ADDMACRO.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003514: Возможность задать приоритет макросов, определяемым через MCTL_ADDMACRO.

--------------------------------------------------------------------------------
drkns 2017-10-06 18:12:24+01:00 - build 5062

1. And another one.

--------------------------------------------------------------------------------
drkns 2017-10-04 23:47:28+01:00 - build 5061

1. Another one.

--------------------------------------------------------------------------------
drkns 2017-10-02 16:09:16+01:00 - build 5060

1. Another one.

--------------------------------------------------------------------------------
drkns 2017-10-02 15:59:05+01:00 - build 5059

1. Another correction of 5049.

--------------------------------------------------------------------------------
drkns 2017-10-02 00:34:01+01:00 - build 5058

1. Correction of 5057 (actually not, the bug is 4+ years old).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 5057 (на самом деле нет, багу 4+ года).

--------------------------------------------------------------------------------
drkns 2017-10-01 22:59:43+01:00 - build 5057

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2017-10-01 10:02:27+01:00 - build 5056

1. Another correction of 5049.

--------------------------------------------------------------------------------
zg 2017-10-01 03:15:57+03:00 - build 5055

1. correction of 5050.1: Start VisRen plugin and press Down many times, some UI flashing occurs.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 5050.1: Запускаем плагин VisRen и нажимаем много раз Down, происходит какое-то мерцание интерфейса.

--------------------------------------------------------------------------------
drkns 2017-09-30 23:23:55+01:00 - build 5054

1. Forum: Search stops after folder (symlink) excluded in filter.

2. Correction of search in alternate streams.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: Search stops after folder (symlink) excluded in filter.

2. Уточнение поиска в альтернативных потоках.

--------------------------------------------------------------------------------
zg 2017-10-01 00:05:03+03:00 - build 5053

1. incorrect sending of DN_CONTROLINPUT with Param1=-1 on any mouse movement if TRUE was returned the first time.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. ошибочная посылка DN_CONTROLINPUT с Param1=-1 на любое передвижение мыши, если в первый раз вернули TRUE.

--------------------------------------------------------------------------------
zg 2017-09-30 23:33:20+03:00 - build 5052

1. correction of 5050.1: lua: Keys"F7 Tab" Dlg.SetFocus(3) win.Sleep(200) Keys"Esc"
   A dialog is shown on screen when it seems not to be.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 5050.1: lua: Keys"F7 Tab" Dlg.SetFocus(3) win.Sleep(200) Keys"Esc"
   Диалог появляется на экране, а вроде не должен.

--------------------------------------------------------------------------------
drkns 2017-09-30 14:00:05+01:00 - build 5051

1. Refactoring.

2. Correction of 5049 - incorrect processing of masks containing [] and alignment of extensions.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг.

2. Уточнение 5049 - криво работали маски с [] и выравнивание расширений.

--------------------------------------------------------------------------------
zg 2017-09-30 15:01:48+03:00 - build 5050

1. partial fix for direct drawing dialog on screen.

2. a non-modal dialog is shown immediately.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. частично исправлена прямая отрисовка диалога на экран.

2. немодальный диалог показывается сразу.

--------------------------------------------------------------------------------
drkns 2017-09-29 23:31:12+01:00 - build 5049

1. Start dividing big and ugly farwinapi to separate modules.

2. Refactoring.

3. Forum - crash on empty history.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Начинаем разделять большой и страшный farwinapi на отдельные модули.

2. Рефакторинг.

3. С форума - падение на пустой истории.

--------------------------------------------------------------------------------
zg 2017-09-29 11:35:02+03:00 - build 5048

1. DN_GOTFOCUS/DN_KILLFOCUS events with param1=-1 are issued for non-modal dialogs when the window gains/loses the focus.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. для немодальных диалогов приходят события DN_GOTFOCUS/DN_KILLFOCUS с param1=-1, когда окно получает/теряет фокус.

--------------------------------------------------------------------------------
zg 2017-09-28 19:22:53+03:00 - build 5047

1. if DialogInit has FDLG_NONMODAL flag specified then a non-modal dialog is created and started immediately.
   DialogRun and DialogFree needn't be specified for such a dialog. the dialog is destroyed automatically when closed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. если в DialogInit указать флаг FDLG_NONMODAL, то создастся и сразу запустится немодальный диалог.
   DialogRun и DialogFree для такого диалога указывать не нужно. при закрытии диалог автоматически уничтожается.

--------------------------------------------------------------------------------
drkns 2017-09-25 22:30:09+01:00 - build 5046

1. Another correction of 5038.

--------------------------------------------------------------------------------
drkns 2017-09-25 20:58:23+01:00 - build 5045

1. Continuation of 4679 - recognition of launch type for system associations given without full path.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 4679 - определение типа запуска для системных ассоциаций, заданных без полного пути.

--------------------------------------------------------------------------------
drkns 2017-09-25 20:22:04+01:00 - build 5044

1. Correction of 5038.

--------------------------------------------------------------------------------
drkns 2017-09-25 19:57:02+01:00 - build 5043

1. Correction of 5041.

--------------------------------------------------------------------------------
drkns 2017-09-25 08:43:19+01:00 - build 5042

1. 0003506: Crash when Shift+Enter on any folder

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003506: Падение при нажатии Shift+Enter на любой папке

--------------------------------------------------------------------------------
drkns 2017-09-24 23:23:04+01:00 - build 5041

1. 0003501: Do not hide panels on launching a prefix according to association from command line

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003501: Не гасить панели при запуске префикса по ассоциации из командной строки

--------------------------------------------------------------------------------
drkns 2017-09-24 21:26:19+01:00 - build 5040

1. 0003504: Hotkey continues functioning after rebind

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003504: Горячая клавиша продолжает действовать сразу после переназначения

--------------------------------------------------------------------------------
drkns 2017-09-24 18:26:06+01:00 - build 5039

1. Correction of 5038.2.

--------------------------------------------------------------------------------
drkns 2017-09-24 16:59:37+01:00 - build 5038

1. 0003505: FarMenu.ini may be a folder, we don't try to process it in this case.

2. Some corrections in launcher on files without extensions and on logic of searching for a file to be launched.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003505: FarMenu.ini может оказаться папкой - не пытаемся в этом случае его выводить.

2. Некоторые уточнения в запускателе на тему файлов без расширений и логики поиска запускаемого файла.

--------------------------------------------------------------------------------
zg 2017-09-23 15:25:28+03:00 - build 5037

1. on file save in editor the current directory was set to where the editor was invoked.
   removed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. при сохранении файла в редакторе текущей устанавливалась папка, в которой редактор был запущен.
   убрано.

--------------------------------------------------------------------------------
drkns 2017-09-21 21:43:58+01:00 - build 5036

1. 0003499: Excessive full file path is displayed in command line on launch from panel

2. For some reason, "Use registered types" option would have influence on launch of files without extensions from command line.
   If someone remembers the reason then post it.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003499: При запуске из панели в командной строке отображается избыточный полный путь к файлу

2. Опция Use registered types" зачем-то влияла на запуск файлов без расширения из комстроки.
   Если кто-то помнит причину - пишите.

--------------------------------------------------------------------------------
drkns 2017-09-20 21:35:37+01:00 - build 5035

1. Continuation of 5030.3.

--------------------------------------------------------------------------------
drkns 2017-09-20 07:37:25+01:00 - build 5034

1. Correction of 5032.

--------------------------------------------------------------------------------
drkns 2017-09-19 23:14:44+01:00 - build 5033

1. 0003497: regexps stopped working (more correct fix than 4492).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003497: регэкспы перестали работать (более правильное исправление, чем 4492).

--------------------------------------------------------------------------------
drkns 2017-09-16 23:23:44+01:00 - build 5032

1. Continuation of 5030.3.

--------------------------------------------------------------------------------
drkns 2017-09-15 23:44:07+01:00 - build 5031

1. Continuation of 5030.3 - only load/save required folder shortcuts, not all of them.

2. 0003492: Incorrect indication in upper status line

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 5030.3 - читаем/сохраняем только те folder shortcuts, которые надо, а не все существующие.

2. 0003492: Неправильная индикация в верхней статусной строке

--------------------------------------------------------------------------------
drkns 2017-09-15 00:48:00+01:00 - build 5030

1. 0003490: Crash on F4 in empty submenu

2. 0003491: Unreasonable creation of a submenu after editing undone

3. Folder shortcuts are simplified and reworked.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003490: Падение при нажатии F4 в пустом подменю

2. 0003491: Нелогичное создание подменю после отменённого редактирования

3. Folder shortcuts в целом упрощён и частично переделан.

--------------------------------------------------------------------------------
drkns 2017-09-13 20:19:28+01:00 - build 5029

1. Rollback 5027.2 and 5028.1.

--------------------------------------------------------------------------------
drkns 2017-09-12 21:04:02+01:00 - build 5028

1. Continuation of 0003481.

--------------------------------------------------------------------------------
drkns 2017-09-11 20:45:30+01:00 - build 5027

1. 0003481: hlf: Text can be indented despite absence of <CtrlStartPosChar>

2. CtrlStartPosChar could unexpectedly affect the previous paragraph.

3. Experimental - support for TrueColor in hlf. The format is ([[T]FFFFFFFF][:[T]BBBBBBBB]), same as in prompt.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003481: hlf: Текст может выравниваться не смотря на отсутствие <CtrlStartPosChar>

2. CtrlStartPosChar мог внезапно влиять на предыдущий абзац.

3. Экспериментально - поддержка TrueColor в hlf. Формат ([[T]FFFFFFFF][:[T]BBBBBBBB]) - тот же, что и в промпте.

--------------------------------------------------------------------------------
drkns 2017-09-09 22:00:37+01:00 - build 5026

1. Capture the stack also for the exceptions that have been caught and rethrown via exception_ptr.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Записываем стек и для тех исключений, которые были пойманы и переброшены через exception_ptr.

2. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2017-09-09 17:32:31+01:00 - build 5025

1. 0003485: Exception on attempt of viewing an incorrect? hlf

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003485: Exception при попытке просмотра некорректного? hlf

--------------------------------------------------------------------------------
zg 2017-09-03 14:24:00+03:00 - build 5024

1. if selection was removed in an inactive editor then it would be drawn on top of all the windows.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. при удалении выделения в неактивном редакторе, он перерисовывался поверх всех окон.

--------------------------------------------------------------------------------
drkns 2017-09-02 20:59:58+01:00 - build 5023

1. 0003470: GetVHDInfo called even DRIVE_SHOW_TYPE is not set and even under XP where VHD API is not available

--------------------------------------------------------------------------------
shmuel 2017-09-02 20:34:02+02:00 - build 5022

1. FileList::SetSortMode() - memory read out of array bounds.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. FileList::SetSortMode() - было чтение памяти за пределами массива.

--------------------------------------------------------------------------------
drkns 2017-09-02 16:16:24+01:00 - build 5021

1. Correction of 5020.1.

--------------------------------------------------------------------------------
drkns 2017-09-02 15:38:54+01:00 - build 5020

1. Refactoring. Remove duplicated code and move something out from common.hpp.

2. Use IsProcessorFeaturePresent to detect absence of SSE2.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг. Убран дублирующийся код и кое-что вынесено из common.hpp.

2. Используем IsProcessorFeaturePresent для определения отсутствия SSE2.

--------------------------------------------------------------------------------
drkns 2017-08-30 20:44:52+01:00 - build 5019

1. New versions of tinyxml2 and fmt.

2. Do not preload lua51.dll for no plugins installed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Новые версии tinyxml2 и fmt.

2. Не прелоадим lua51.dll, если плагины отсутствуют в принципе.

--------------------------------------------------------------------------------
svs 2017-08-30 14:14:51+03:00 - build 5018

1. SQLite 3.20.1

--------------------------------------------------------------------------------
w17 2017-08-30 13:53:46+03:00 - build 5017

1. Correction+ of 5015

--------------------------------------------------------------------------------
w17 2017-08-30 13:19:19+03:00 - build 5016

1. Correction of 5015

--------------------------------------------------------------------------------
w17 2017-08-30 12:21:12+03:00 - build 5015

1. Preload %FARHOME%\legacy\lua51.dll if x86 CPU doesn't support SSE2.

--------------------------------------------------------------------------------
drkns 2017-08-26 11:20:44+01:00 - build 5014

1. The 'date' macrofunction was a mess:
   According to documentation, "%Z" should return "Timezone name or empty if timezone unspecified".
   It actually returned the difference between UTC and current TZ as ±hhmm, that is almost as %z in strftime but, ATTENTION, not taking DST bias into consideration.
   As an example, this means that all dates in changelogs (including this one) have little to do with reality.

   Now:
     %Z - is actually the NAME of the timezone, as promised.
     %z - is relative offset of local time to UTC.

   Do not forget to replace %Z with %z in your macros.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В макрофункции date творилась дичь:
   Согласно документации, "%Z" должно было возвращать "Имя часового пояса или пусто, если часовой пояс не задан".
   На самом же деле возвращалась разница между UTC и текущей TZ в формате ±hhmm, т. е. почти как %z в strftime, но, ВНИМАНИЕ, без учёта DST bias.
   Что же это значит? А значит это, например, то, что все даты во всех changelogах (включая этот) имеют мало общего с действительностью.

   Теперь:
     %Z - это на самом деле ИМЯ часового пояса, как обещано.
     %z - это смещение локального времени относительно UTC.

   Не забудьте исправить %Z на %z в своём макросе.

--------------------------------------------------------------------------------
shmuel 2017-08-24 15:16:45+02:00 - build 5013

1. MCTL_GETLASTERROR can now be also called after MSSC_POST and MCTL_EXECSTRING.

2. MCTL_EXECSTRING now respects KMFLAGS_SILENTCHECK flag.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. MCTL_GETLASTERROR можно теперь вызывать и после исполнения MSSC_POST и MCTL_EXECSTRING.

2. MCTL_EXECSTRING теперь учитывает флаг KMFLAGS_SILENTCHECK.

--------------------------------------------------------------------------------
shmuel 2017-08-23 12:57:35+02:00 - build 5012

1. KMFLAGS_SILENTCHECK flag was ignored in MSSC_POST command.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Флаг KMFLAGS_SILENTCHECK игнорировался в команде MSSC_POST.

--------------------------------------------------------------------------------
drkns 2017-08-18 09:30:57+00:00 - build 5011

1. Adjustment of buttons to the center of search dialog on size change would not work.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не работало центрирование кнопок в диалоге поиска при изменении размера.

--------------------------------------------------------------------------------
drkns 2017-08-17 22:31:49+00:00 - build 5010

1. Forum: hotkeys line would not refresh after browsing the network.

2. Forum: search dialog had the separator incorrectly redrawn on size change.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: не обновляется строка горячих клавиш после просмотра сети.

2. С форума: в диалоге поиска некорректно перерисовывался разделитель при изменении размера.

--------------------------------------------------------------------------------
drkns 2017-08-16 11:43:28+00:00 - build 5009

1. Correction of 5008.

--------------------------------------------------------------------------------
drkns 2017-08-16 09:54:19+00:00 - build 5008

1. Forum: text adjusted to the left/right border was displayed completely even if it would not fit in the borders.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Там же: при выравнивании по левому/правому краю текст отображался полностью, даже если не влезал в указанные рамки.

--------------------------------------------------------------------------------
drkns 2017-08-16 09:22:10+00:00 - build 5007

1. Forum: DI_TEXT + DIF_CENTERTEXT was adjusted to dialog center instead of coordinates X1 and X2.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. C форума: DI_TEXT + DIF_CENTERTEXT выравнивался по центру диалога вместо относительно координат X1 и X2.

--------------------------------------------------------------------------------
drkns 2017-08-14 21:38:39+00:00 - build 5006

1. Now FCTL_<G|S>ETUSERSCREEN can be used also from editor (-e) and viewer (-v) modes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Теперь FCTL_<G|S>ETUSERSCREEN можно использовать и из режимов редактора (-e) и просмотра (-v).

--------------------------------------------------------------------------------
drkns 2017-08-13 17:07:42+00:00 - build 5005

1. Correction of 4959.

--------------------------------------------------------------------------------
drkns 2017-08-11 01:15:42+00:00 - build 5004

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2017-08-09 00:11:01+00:00 - build 5003

1. Once more for the owners.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё раз о владельцах.

--------------------------------------------------------------------------------
drkns 2017-08-08 20:27:34+00:00 - build 5002

1. 0003466: Memory depletion crash when adding new panel columns with unspecified width

2. Forum: File owner is not shown for a Windows share

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003466: Зависание/падение по перерасходу памяти при добавлении новых столбцов панели без указания ширины

2. С форума: Не показывает владельца файла на шаре windows

--------------------------------------------------------------------------------
svs 2017-08-08 12:26:57+03:00 - build 5001

1. SQLite 3.20.0

--------------------------------------------------------------------------------
drkns 2017-08-06 11:07:04+00:00 - build 5000

1. Another correction of 4996.

--------------------------------------------------------------------------------
drkns 2017-08-04 20:07:24+00:00 - build 4999

1. Forum: "Crash on going upwards from RESearch panel"

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: "Падение при выходе “наверх” из панели результатов RESearch"

--------------------------------------------------------------------------------
drkns 2017-08-04 00:27:23+00:00 - build 4998

1. Correction of 4997 - broken replace.

2. Fix for the old bug on replacing a line containing "\r".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 4997 - погнулась замена.

2. Там же - криво работала замена, содержащая "\r", и уже давно.

--------------------------------------------------------------------------------
drkns 2017-08-01 20:39:18+00:00 - build 4997

1. Continuation of #3462 - do not change cursor position without the need.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение #3462 - не меняем позицию курсора без необходимости.

--------------------------------------------------------------------------------
drkns 2017-07-31 20:01:11+00:00 - build 4996

1. Correction of 4995.1.

2. 0003462: Searching for all matches skips match in the first line

3. Do not clear selection ahead of time nor if nothing is found.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 4995.1.

2. 0003462: Поиск всех вхождений теряет вхождение в первой строке

3. Там же - не снимаем выделение раньше времени, а также если ничего не нашли.

--------------------------------------------------------------------------------
drkns 2017-07-30 01:45:36+00:00 - build 4995

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2017-07-23 22:34:57+00:00 - build 4994

1. 0003457: Mouse is functional in FAR even if the "Interface settings - Mouse" setting is off

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003457: Мышь работает в FAR даже при отключённом параметре "Настройки интерфейса - Мышь"

2. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2017-07-23 10:31:34+00:00 - build 4993

1. Search would not work in help.

2. Autocompletion would not work in some cases.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не работал поиск в справке.

2. В некоторых случаях не работало автодополнение.

--------------------------------------------------------------------------------
drkns 2017-07-22 13:25:18+00:00 - build 4992

1. Forum: Incorrect indication of error position in regular expression

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: Ошибочная индикация позиции ошибки в регэкспе

--------------------------------------------------------------------------------
drkns 2017-07-21 19:29:12+00:00 - build 4991

1. Correction of 4989.

--------------------------------------------------------------------------------
drkns 2017-07-20 23:10:16+00:00 - build 4990

1. Return low memory protection, added in 1741 and lost in 3791.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Вернём защиту от нехваток памяти, добавленную в 1741 и потерянную в 3791.

--------------------------------------------------------------------------------
drkns 2017-07-20 01:09:52+00:00 - build 4989

1. Refactoring. Stop spreading PANEL_STOP all over the codebase.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг. Остановим расползание PANEL_STOP по коду.

--------------------------------------------------------------------------------
drkns 2017-07-18 20:34:50+00:00 - build 4988

1. Refactoring.

2. Coverity warnings.

--------------------------------------------------------------------------------
shmuel 2017-07-18 13:36:33+02:00 - build 4987

1. M#3428: add GUIDs for dialogs of editing/insertion of user menu items.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#3428: добавить GUID-ы для диалогов редактирования/вставки пунктов меню пользователя.

--------------------------------------------------------------------------------
drkns 2017-07-17 21:53:50+00:00 - build 4986

1. 0003454: Completion of paths stopped recognition of / as a separator.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003454: Completion путей перестал распознавать / в качестве разделителя.

--------------------------------------------------------------------------------
shmuel 2017-07-12 23:53:19+02:00 - build 4985

1. Erroneous DM_SETTEXT for DI_LISTBOX (since build 4248).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Глючил DM_SETTEXT для DI_LISTBOX (начиная от билда 4248).

--------------------------------------------------------------------------------
drkns 2017-07-04 23:44:29+00:00 - build 4984

1. Automatic update of panels would not work in folders with unusual names.

2. Related to #1 refactoring of filesystemwatcher, which was somewhat unclear.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Автообновление панелей не работало в каталогах с нетрадиционными именами.

2. Связанный с п. 1 рефакторинг filesystemwatcher, ибо как-то всё весьма мутно было.

--------------------------------------------------------------------------------
drkns 2017-07-03 19:31:28+00:00 - build 4983

1. A macro could cause an exception in menu with active filter under some circumstances.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В некоторых случаях макрос мог вызвать исключение в меню со включенным фильтром.

--------------------------------------------------------------------------------
drkns 2017-07-02 13:53:50+00:00 - build 4982

1. Forum: Weird values in copy/move dialogs

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: Странные значения в диалогах перемещения/копирования

--------------------------------------------------------------------------------
drkns 2017-07-01 13:08:48+00:00 - build 4981

1. Stubs in vc_crt_fix_impl.cpp are replaced with more or less working implementations.

2. Correct the leak detector.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Стабы в vc_crt_fix_impl.cpp заменены более-менее рабочими версиями.

2. Уточнение работы leak-детектора.

--------------------------------------------------------------------------------
drkns 2017-06-28 19:02:42+00:00 - build 4980

1. Incorrect display of information on locked file.

2. fmt v4.0.0.

3. TinyXML-2 v5.0.1

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ошибка отображения информации о заблокированном файле.

2. fmt v4.0.0.

3. TinyXML-2 v5.0.1

--------------------------------------------------------------------------------
drkns 2017-06-25 02:03:37+00:00 - build 4979

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2017-06-23 16:48:00+00:00 - build 4978

1. Forum: unnecessary privilege request

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: ненужный запрос привилегий

--------------------------------------------------------------------------------
drkns 2017-06-22 23:26:01+00:00 - build 4977

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2017-06-21 07:30:17+00:00 - build 4976

1. In some cases, the plugin could cause an exception in a menu with filter enabled.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В некоторых случаях плагин мог вызвать исключение в меню со включенным фильтром.

--------------------------------------------------------------------------------
svs 2017-06-19 07:24:13+03:00 - build 4975

1. SQLite 3.19.3

--------------------------------------------------------------------------------
drkns 2017-06-18 10:59:10+00:00 - build 4974

1. Correction of 4945.

--------------------------------------------------------------------------------
drkns 2017-06-05 13:26:32+02:00 - build 4973

1. Correction of 4887.

2. Refactoring.

--------------------------------------------------------------------------------
svs 2017-05-30 23:13:19+03:00 - build 4972

1. SQLite 3.19.2

--------------------------------------------------------------------------------
drkns 2017-05-29 14:46:17+00:00 - build 4971

1. Correction of 4969.

--------------------------------------------------------------------------------
shmuel 2017-05-27 02:27:03+02:00 - build 4970

1. Correction of 4585: switching between FAR and plugin panel would not save custom sorting.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 4585: при переключении между панелью Фара и плагина (в любую сторону) не сохранялись
   кастомные сортировки.

--------------------------------------------------------------------------------
drkns 2017-05-26 21:45:31+00:00 - build 4969

1. Continuation of 4963.

--------------------------------------------------------------------------------
svs 2017-05-24 21:58:27+03:00 - build 4968

1. SQLite 3.19.1

--------------------------------------------------------------------------------
drkns 2017-05-23 23:10:16+00:00 - build 4967

1. Another correction of 4963.

--------------------------------------------------------------------------------
drkns 2017-05-22 23:20:20+00:00 - build 4966

1. Correction of 4963.

--------------------------------------------------------------------------------
drkns 2017-05-22 20:44:12+00:00 - build 4965

1. More on gcc 7.

--------------------------------------------------------------------------------
drkns 2017-05-20 23:45:02+00:00 - build 4964

1. gcc 7.

--------------------------------------------------------------------------------
drkns 2017-05-19 23:29:09+00:00 - build 4963

1. 0003434: FormatFileSize function had Width parameter which did not fully meet the documentation.
   API changes: "undetermined" defaults now for 0 instead of -1.

2. Other fixes (and possibly new bugs) around the function.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003434: В функции FormatFileSize параметр Width не полностью соотвествуют документации.
   Изменение в API: "сколько получится" теперь подразумевается при 0, а не при -1.

2. Прочие исправления (а возможно и новые баги) в той же функции и окресностях.

--------------------------------------------------------------------------------
drkns 2017-05-16 07:34:39+00:00 - build 4962

1. Correction of plugin loading process.

--------------------------------------------------------------------------------
drkns 2017-05-15 14:39:00+00:00 - build 4961

1. Continuation of 4959 - displaying of plugin loading errors is now done by the corresponding loader
   in order to not try showing LastError where there's none. SilentLoadPlugin parameter is removed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 4959 - отображением ошибок загрузки плагинов теперь заведует соответствующий загрузчик,
   дабы не пытаться показать LastError там, где его нет. Параметра SilentLoadPlugin больше нет.

--------------------------------------------------------------------------------
drkns 2017-05-14 20:32:53+00:00 - build 4960

1. Correction of 4957.

--------------------------------------------------------------------------------
drkns 2017-05-14 20:09:37+00:00 - build 4959

1. Extend Adapter API a little:
   BOOL WINAPI GetError(ErrorInfo* info)
     - Far calls the function after each adapter invocation to know if everything is ok.
       If not, the error message will be shown.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Расширим немного Adapter API:
   BOOL WINAPI GetError(ErrorInfo* info)
     - Far вызывает эту функцию после каждого обращения к адаптеру чтобы узнать, всё ли там хорошо.
       Если не всё - будет показано сообщение с текстом ошибки.

--------------------------------------------------------------------------------
drkns 2017-05-13 20:07:39+00:00 - build 4958

1. Fix broken sorting.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Поправим погнутую сортировку.

--------------------------------------------------------------------------------
drkns 2017-05-13 11:11:40+00:00 - build 4957

1. 0003430: Privilege escalation error in Far 3.0.4949

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003430: Ошибка повышения привилегий в Far 3.0.4949

--------------------------------------------------------------------------------
drkns 2017-05-11 00:06:47+00:00 - build 4956

1. 0003433: FAR doesn't restore console caption changed by a program

2. A pair of minor issues.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003433: Если выполненная программа поменяла заголовок консоли, Far его не восстановит

2. Пара мелочей.

--------------------------------------------------------------------------------
drkns 2017-05-09 22:40:36+00:00 - build 4955

1. Correction of 4950 - crash on messages without strings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 4950 - падало на сообщениях без строк.

--------------------------------------------------------------------------------
drkns 2017-05-06 21:45:46+00:00 - build 4954

1. Correction of 4945.

--------------------------------------------------------------------------------
drkns 2017-05-05 00:31:34+00:00 - build 4953

1. Correction of 4952.

--------------------------------------------------------------------------------
drkns 2017-05-04 20:45:42+00:00 - build 4952

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2017-05-03 00:02:38+00:00 - build 4951

1. Correction of 4950.

--------------------------------------------------------------------------------
drkns 2017-05-02 23:55:28+00:00 - build 4950

1. Somewhat reduce data copying in Message().

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Немного сократим копирование данных в Message().

--------------------------------------------------------------------------------
zg 2017-05-02 16:38:35+02:00 - build 4949

1. correction of 4945: 'if exist' would not work.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4945: не работала команда if exist.

--------------------------------------------------------------------------------
drkns 2017-05-01 22:42:32+00:00 - build 4948

1. Correction of 4945.

--------------------------------------------------------------------------------
zg 2017-05-01 16:49:59+02:00 - build 4947

1. correction of 4945: CtrlEnd would not work in command line and editor lines when autocompletion was off.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4945: в командной строке и в строках редактирования не работал CtrlEnd при отключённом автодополнении.

--------------------------------------------------------------------------------
zg 2017-05-01 16:05:46+02:00 - build 4946

1. correction of 4945: case-insensitive search in editor would not work.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4945: в редакторе не работал регистронезависимый поиск.

--------------------------------------------------------------------------------
drkns 2017-05-01 00:21:40+00:00 - build 4945

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2017-04-27 20:58:46+00:00 - build 4944

1. Remove space characters when processing 'pushd'.

2. More correct removal of quotes when processing 'set'.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Убираем пробелы при обработке pushd.

2. Более корректно убираем кавычки при обработке set.

--------------------------------------------------------------------------------
zg 2017-04-25 12:59:57+02:00 - build 4943

1. exception on mf.fsplit('a.:',0x4+0x8) call

--------------------------------------------------------------------------------
drkns 2017-04-24 07:59:10+00:00 - build 4942

1. Correction of 4940 once more.

--------------------------------------------------------------------------------
drkns 2017-04-23 22:24:28+00:00 - build 4941

1. Correction of 4936.

2. Correction of 4940.

3. Refactoring.

--------------------------------------------------------------------------------
drkns 2017-04-23 15:52:18+00:00 - build 4940

1. 0003216: Shift key is ignored in dialogs when "Append first matched item" autocompletion option is on

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003216: Клавиша Shift игнорируется в диалогах при включённой настройке автозавершения "Подставлять первый подходящий вариант"

--------------------------------------------------------------------------------
drkns 2017-04-22 20:39:26+00:00 - build 4939

1. Correction of 4938.

2. Refactoring.

--------------------------------------------------------------------------------
drkns 2017-04-22 14:04:11+00:00 - build 4938

1. 0003424: New command line parameter for console caption inheritance

2. Correction of completion functioning:
   - sorting does not take quote marks into account
   - save the already typed letter case
   - selection takes the cursor position into account

3. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003424: Новый параметр командной строки для наследования заголовка консоли

2. Уточнение работы дополнения:
   - сортировка без учёта кавычек
   - сохранение уже введённого регистра
   - выделение учтывает позицию курсора

3. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2017-04-18 22:21:06+00:00 - build 4937

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2017-04-17 22:16:12+00:00 - build 4936

1. Panel.RememberLogicalDrives must be usable now - saved list of drives will be updated if needed.

2. Launch from a plugin panel removes the temporary file after the panel close, not immediately.

3. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Panel.RememberLogicalDrives теперь, наверное, можно пользоваться - сохранённый список дисков будет обновлён при необходимости.

2. При запуске с плагиновых панелей удаление временного файла производится после закрытия панели, а не сразу.

3. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2017-04-12 18:58:51+00:00 - build 4935

1. Continuation of 4934.

--------------------------------------------------------------------------------
drkns 2017-04-11 07:51:48+00:00 - build 4934

1. Processing of numpad keys in panel modes editing menu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Обработка Num-клавиш в меню редактирования режимов панелей.

--------------------------------------------------------------------------------
drkns 2017-04-08 19:00:16+00:00 - build 4933

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2017-04-06 07:53:14+00:00 - build 4932

1. Wiping of empty files would not work.

--------------------------------------------------------------------------------
drkns 2017-04-05 20:10:41+00:00 - build 4931

1. Correction of 4928.

2. Minor issues.

--------------------------------------------------------------------------------
zg 2017-04-05 20:41:01+02:00 - build 4930

1. 0003419: Crash on resizing a window containing an opened drop-down list.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003419: Crash при ресайзе окна содержащего открытый выпадающий спискок.

--------------------------------------------------------------------------------
svs 2017-04-02 20:22:22+03:00 - build 4929

1. SQLite 3.18.0

--------------------------------------------------------------------------------
drkns 2017-04-01 13:54:43+00:00 - build 4928

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2017-03-28 13:40:20+02:00 - build 4927

1. M#3415: error in menu.itemstatus

--------------------------------------------------------------------------------
drkns 2017-03-26 12:56:32+00:00 - build 4926

1. Refactoring.

--------------------------------------------------------------------------------
zg 2017-03-26 14:48:27+02:00 - build 4925

1. RestoreScreen restores the screen content right away.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. RestoreScreen сразу восстанавливает содержимое экрана.

--------------------------------------------------------------------------------
drkns 2017-03-24 18:18:14+00:00 - build 4924

1. Correction of 4923.

--------------------------------------------------------------------------------
drkns 2017-03-23 23:28:58+00:00 - build 4923

1. Refactoring.

--------------------------------------------------------------------------------
w17 2017-03-23 21:39:02+03:00 - build 4922

1. forum: Automatic replacement of a share with a drive letter
   On navigation from server share list to a selected item with Enter now there is no transition
   to the drive (if assigned), for CtrlPgDn there is the old behavior (is the drive is available, go to it).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. forum: Автоматическая замена шары на букву диска
   При переходе из списка шар сервера к выделенному элементу по Enter теперь не происходит
   переход к диску (если он назначен), по CtrlPgDn - старое поведение (если есть диск - переход к нему).

--------------------------------------------------------------------------------
drkns 2017-03-21 20:39:52+00:00 - build 4921

1. From the forum: Crash in cancelled file edit in NetBox

--------------------------------------------------------------------------------
drkns 2017-03-21 01:31:42+00:00 - build 4920

1. Debug symbols would not always be loaded.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не всегда загружались отладочные символы.

2. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2017-03-20 23:25:32+00:00 - build 4919

1. Correction of 4888.

--------------------------------------------------------------------------------
drkns 2017-03-16 23:14:59+00:00 - build 4918

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2017-03-15 21:40:52+02:00 - build 4917

1. Remove nonstandard behavior of Right and Left keys for moving between check boxes in dialog.
   (If the time shows that the former behavior is more preferable it will be brought back).
   Radio buttons are not touched because it would affect the color selection dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уберём нестандартное поведение клавиш Right и Left при перемещении между чекбоксами в диалоге.
   (Если со временем выявится, что прежнее поведение предпочтительнее - вернём прежнее).
   Радиобаттоны не трогаем, так как повлияет на диалог выбора цвета.

--------------------------------------------------------------------------------
drkns 2017-03-15 11:30:29+00:00 - build 4916

1. Correction of 4907.

2. Refactoring.

--------------------------------------------------------------------------------
drkns 2017-03-13 15:01:25+00:00 - build 4915

1. Correction of processing of SEH exceptions in non-main threads.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Коррекция обработки SEH-исключений в неосновных нитях.

--------------------------------------------------------------------------------
drkns 2017-03-13 13:39:47+00:00 - build 4914

1. Forum: Archive containing another archive is deleted

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: Удаляется архив, содержащий другой архив

--------------------------------------------------------------------------------
drkns 2017-03-11 00:05:34+00:00 - build 4913

1. Forum: the caption of help window is shifted right.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: съехал вправо заголовок окна справки.

--------------------------------------------------------------------------------
zg 2017-03-10 13:55:54+02:00 - build 4912

1. under certain circumstances in user menu the editor/viewer, called via edit:/view:, was modal.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. при определённых условиях в пользовательском меню редактор/просмотр вызванные по edit:/view: были модальными.

--------------------------------------------------------------------------------
drkns 2017-03-09 07:35:59+00:00 - build 4911

1. 0003404: `Lock editing of read-only files` is ignored (regression)

--------------------------------------------------------------------------------
drkns 2017-03-08 19:14:38+00:00 - build 4910

1. Remove constexpr from static objects - it has become even worse in VS2017.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уберём constexpr у статических объектов - в VS2017 с ним всё ещё хуже, чем раньше.

--------------------------------------------------------------------------------
drkns 2017-03-08 17:34:21+00:00 - build 4909

1. VS2017 support.

2. VS2017 & clang warnings.

3. Refactoring.

--------------------------------------------------------------------------------
zg 2017-03-07 03:02:10+02:00 - build 4908

1. remove WaitInMainLoop global variable.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. убрана глобальная переменная WaitInMainLoop.

--------------------------------------------------------------------------------
drkns 2017-03-06 14:08:55+00:00 - build 4907

1. Exit from network plugin could cause transition to an inexisting folder.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Выход из плагина network мог вызывать переход в несуществующую папку.

2. Рефакторинг.

--------------------------------------------------------------------------------
zg 2017-03-06 14:02:30+02:00 - build 4906

1. 0003401: Weird bug with clock in editor.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003401: Странный баг с часами в редакторе.

--------------------------------------------------------------------------------
drkns 2017-03-05 16:01:22+00:00 - build 4905

1. Forum: when browsing the network with NAS QNAP opening any shared resource adds the current and parent directories to the list for some reason.
   Guys from QNAP seem to be unfamiliar with "2.4.17 FileIdBothDirectoryInformation" too.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: при работе по сети с NAS QNAP почему-то при заходе на любую шару текущий и родительский каталоги дополнительно добавляются в список.
   В QNAP, видимо, тоже не читали "2.4.17 FileIdBothDirectoryInformation".

--------------------------------------------------------------------------------
drkns 2017-02-28 18:57:23+00:00 - build 4904

1. Temporary files were not removed after invoking viewer from search results.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не удалялись временные файлы, созданные во время вызова просмотра из результатов поиска.

--------------------------------------------------------------------------------
drkns 2017-02-27 19:04:21+00:00 - build 4903

1. 0003358: ArcLite. The system cannot find the path specified

--------------------------------------------------------------------------------
drkns 2017-02-22 23:45:29+00:00 - build 4902

1. Processing of 'set' command would not remove quotes from the filter.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При обработке команды 'set' не удалялись кавычки из фильтра.

--------------------------------------------------------------------------------
drkns 2017-02-21 18:50:57+00:00 - build 4901

1. A typo in 4883.

--------------------------------------------------------------------------------
drkns 2017-02-20 19:16:22+00:00 - build 4900

1. Coverity warnings.

--------------------------------------------------------------------------------
drkns 2017-02-18 19:05:09+00:00 - build 4899

1. Refactoring, renaming.

--------------------------------------------------------------------------------
svs 2017-02-14 20:19:16+03:00 - build 4898

1. SQLite 3.17.0

--------------------------------------------------------------------------------
zg 2017-02-12 20:58:11+02:00 - build 4897

1. correction of 4889.

--------------------------------------------------------------------------------
drkns 2017-02-11 15:51:04+00:00 - build 4896

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2017-02-10 22:44:19+00:00 - build 4895

1. Correction of 4892.

--------------------------------------------------------------------------------
drkns 2017-02-10 22:12:46+00:00 - build 4894

1. Refactoring.

--------------------------------------------------------------------------------
yjh 2017-02-08 23:33:29+03:00 - build 4893

1. adaptation of ulink helper to VS2015sp3 headers (const)
2. the previous commit had a compilation error (part of a string was lost)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. адаптеция ulink-хелпера к хидерам VS2015sp3 (const)
2. в предыдущем коммите внесена некомпилируемая ошибка (потеря части строки)

--------------------------------------------------------------------------------
drkns 2017-02-08 19:50:19+00:00 - build 4892

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2017-02-08 19:44:46+00:00 - build 4891

1. Forum - files which are run via OS associations are written to history unquoted even if their names contain space characters, so repeated launch with Ctrl+E is not possible.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума - файлы, запущенные через системные ассоциации пишутся в историю без кавычек, даже если имеют пробелы в именах, из-за чего повторный запуск через Ctrl+E невозможен.

--------------------------------------------------------------------------------
zg 2017-02-07 12:15:01+02:00 - build 4890

1. correction of 4889.

--------------------------------------------------------------------------------
zg 2017-01-30 17:04:33+02:00 - build 4889

1. ECTL_SETTITLE being called from EE_REDRAW does not reset the console buffer.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. при вызове ECTL_SETTITLE из EE_REDRAW не сбрасывается буфер консоли.

--------------------------------------------------------------------------------
drkns 2017-01-24 22:13:49+00:00 - build 4888

1. Correction of 4887.

2. Refactoring.

--------------------------------------------------------------------------------
drkns 2017-01-23 19:30:10+00:00 - build 4887

1. Correction of 4885.

2. Refactoring.

--------------------------------------------------------------------------------
w17 2017-01-23 19:46:07+03:00 - build 4886

1. forum: a mark character can't be inserted in highlighting

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. forum: Не вставить символ как пометку в раскраске

--------------------------------------------------------------------------------
drkns 2017-01-20 18:35:54+00:00 - build 4885

1. 0003385: User menu is broken after editing.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003385: Ломается пользовательское меню при его редактировании.

--------------------------------------------------------------------------------
drkns 2017-01-19 23:30:22+00:00 - build 4884

1. tinyxml2 and fmt new versions.

--------------------------------------------------------------------------------
drkns 2017-01-19 23:23:24+00:00 - build 4883

1. Refactoring.

--------------------------------------------------------------------------------
svs 2017-01-11 15:22:11+03:00 - build 4882

1. SQLite 3.16.2

--------------------------------------------------------------------------------
svs 2017-01-04 23:15:57+03:00 - build 4881

1. SQLite 3.16.1

--------------------------------------------------------------------------------
w17 2017-01-02 13:31:46+03:00 - build 4880

1. Correction of 4874

--------------------------------------------------------------------------------
w17 2017-01-02 12:14:24+03:00 - build 4879

1. Correction and continuation of 4875

--------------------------------------------------------------------------------
drkns 2016-12-30 21:51:04+02:00 - build 4878

1. Remove forgotten debug code.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Убран забытый отладочный код.

--------------------------------------------------------------------------------
drkns 2016-12-30 20:12:15+02:00 - build 4877

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2016-12-28 23:04:30+02:00 - build 4876

1. Forum: garbage could be displayed at a panel while moving files with descriptions.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: в процессе переноса файлов с описаниями на панели мог отображаться мусор.

2. Рефакторинг.

--------------------------------------------------------------------------------
w17 2016-12-24 21:57:03+03:00 - build 4875

1. 0003361: Admin privileges are requested for file rename

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003361: Запрашиваются админ. права для переименования файла

--------------------------------------------------------------------------------
w17 2016-12-24 21:39:58+03:00 - build 4874

1. 0003366: expand the area of Ctrl-Shift-S function

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003366: расширение зоны действия Ctrl-Shift-S

--------------------------------------------------------------------------------
w17 2016-12-22 20:51:29+03:00 - build 4873

1. -viewer crashes searching in very long lines.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. -падение вьювера при поиске в ооочень длинных строках.

--------------------------------------------------------------------------------
drkns 2016-12-19 20:38:48+02:00 - build 4872

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2016-12-18 18:52:41+02:00 - build 4871

1. Refactoring.

--------------------------------------------------------------------------------
zg 2016-12-17 01:01:39+02:00 - build 4870

1. 0003367: Undo leaves space characters which were missing before.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003367: Undo оставляет пробелы, которых не было.

--------------------------------------------------------------------------------
drkns 2016-12-14 01:41:17+02:00 - build 4869

1. 0003353: Incorrect drawing after pc wake up from sleep.

2. Minor issues.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003353: Ошибка отрисовки при выходе машины из спячки.

2. Пара мелочей.

--------------------------------------------------------------------------------
drkns 2016-12-06 09:32:48+02:00 - build 4868

1. Rollback 4866.1 for now because it happened to be even worse.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Отменим пока 4866.1, т. к. стало хуже.

--------------------------------------------------------------------------------
drkns 2016-12-06 02:43:44+02:00 - build 4867

1. Correction of 4866.

--------------------------------------------------------------------------------
drkns 2016-12-06 00:43:52+02:00 - build 4866

1. 0003361: Admin privileges are requested for renaming a file
   The problem is the broken copier, not the privilege request. This is part #1, it may or may not help.

2. If System.WipeSymbol is set to -1, the wipe uses random values.

3. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003361: Запрашиваются админ. права для переименования файла
   Суть не в запросе прав, а в поломанном копире. Часть 1, не факт, что поможет.

2. Если System.WipeSymbol установить в -1, то для вайпа будут использоваться случайные значения.

3. Рефакторинг.

--------------------------------------------------------------------------------
svs 2016-12-02 12:10:47+03:00 - build 4865

1. SQLite 3.15.2

--------------------------------------------------------------------------------
drkns 2016-12-01 22:11:17+02:00 - build 4864

1. Incorrect path for ".." on panel in screens list (F12)

2. A bit of refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Неверный путь для ".." на панели в списке экранов по F12

2. Мелкий рефакторинг.

--------------------------------------------------------------------------------
drkns 2016-11-29 21:50:31+02:00 - build 4863

1. Crash on invoking the associations menu with no associations.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Падение при вызове меню ассоциаций, если ассоциации отсутствовали.

--------------------------------------------------------------------------------
zg 2016-11-29 19:09:02+02:00 - build 4862

1. continuation of 4808.1.

--------------------------------------------------------------------------------
zg 2016-11-29 17:06:30+02:00 - build 4861

1. forum: search files with "*gs.x*" mask in FAR folder (clean FAR has one).
   get an empty field instead of search results and three points in status line.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. с форума: в папке Far ищем файлы с маской"*gs.x*" (в чистом фаре должен найтись один файл).
   вместо результатов поиска пустое поле, а в статусе (внизу) три точки.

--------------------------------------------------------------------------------
drkns 2016-11-28 17:01:39+02:00 - build 4860

1. Forum: persistent blocks, editor, a line longer than the screen width,
   go to the end of line (the screen scrolls horizontally), select a short substring, press Home, Far crashes silently

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: постоянные блоки, редактор, строка длиннее ширины экрана
   переходим в конец строки (происходит горизонтальный скрол экрана), выделяем небольшую подстроку, нажимаем Home, Far молча схлопывается

--------------------------------------------------------------------------------
drkns 2016-11-27 11:48:40+02:00 - build 4859

1. On drive change with mouse, the current directory of the panel was not always set.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При смене диска мышью не всегда устанавливался текущий каталог панели.

--------------------------------------------------------------------------------
drkns 2016-11-26 14:11:57+02:00 - build 4858

1. Partial rollback for 4853 for W2k compatibility.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Частичный откат 4853 ради совместимости с W2k.

--------------------------------------------------------------------------------
drkns 2016-11-26 03:41:05+02:00 - build 4857

1. In gcc, wcschr and the like removed constness from the returned pointer.
   The bug is 10 years old and it looks like nobody is going to fix it.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В gcc wcschr и ему подобные снимали константность с возвращаемого указателя.
   Багу 10 лет и чинить его, похоже, не собираются.

--------------------------------------------------------------------------------
zg 2016-11-25 23:42:39+02:00 - build 4856

1. Correction of 4853.2.

--------------------------------------------------------------------------------
drkns 2016-11-25 17:46:52+02:00 - build 4855

1. Correction of 4853.2.

--------------------------------------------------------------------------------
drkns 2016-11-25 17:34:15+02:00 - build 4854

1. gcc 5.

--------------------------------------------------------------------------------
drkns 2016-11-25 15:41:04+02:00 - build 4853

1. 0003355: Far freeze on request for privileges while searching in archives.

2. Continuation of 4849.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003355: Far виснет после запроса привилегий при поиске в архивах.

2. Продолжение 4849.

--------------------------------------------------------------------------------
drkns 2016-11-23 23:32:50+02:00 - build 4852

1. Forum: crash on persistent blocks and a selected block from nearly the beginning of a line to its end and Enter pressed at the beginning

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: падало при постоянных блоках и выделенном блоке от почти начала строки до ее конца и нажатии Enter в начале строки

--------------------------------------------------------------------------------
w17 2016-11-23 08:18:32+03:00 - build 4851

1. Fix for 2643 -- text disappear in viewer.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Fix 2643 -- пропадание текста в просмотре.

--------------------------------------------------------------------------------
drkns 2016-11-23 02:44:51+02:00 - build 4850

1. Incorrect displaying of hex viewer.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Некорректно отображался hex-просмотр.

--------------------------------------------------------------------------------
drkns 2016-11-22 03:33:12+02:00 - build 4849

1. Continue what's started in 4848:
   - update on timeout as elsewhere
   - remove the remnants from search (although not everything)
   - minor corrections in related modules.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжим начатое в 4848:
   - обновляем по таймауту, как везде
   - из поиска частично удалены остатки былой роскоши (но не все)
   - мелкие правки в смежных модулях.

--------------------------------------------------------------------------------
zg 2016-11-21 20:27:54+02:00 - build 4848

1. search results dialog is now updated in the main thread. synchronization in dialogs and menus is removed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. диалог с результатами поиска теперь обновляется из главного потока. вся синхронизация в диалогах и меню убрана.

--------------------------------------------------------------------------------
drkns 2016-11-21 10:20:02+02:00 - build 4847

1. Another correction of 4834.

2. Refactoring.

--------------------------------------------------------------------------------
w17 2016-11-20 15:40:36+03:00 - build 4846

1. Fix 2201.

--------------------------------------------------------------------------------
drkns 2016-11-19 14:44:48+02:00 - build 4845

1. After 4834 the associations menu worked incorrectly.

2. A couple of issues.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. После 4834 криво работало меню ассоциаций.

2. Пара мелочей.

--------------------------------------------------------------------------------
drkns 2016-11-18 20:16:18+02:00 - build 4844

1. Another couple of corrections in 4834.

--------------------------------------------------------------------------------
drkns 2016-11-18 17:53:42+02:00 - build 4843

1. Correction of right border line alignment in UI elements.

2. Coverity warnings.

3. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение выравнивания строк по правому краю в элементах интерфейса.

2. Coverity warnings.

3. Рефакторинг.

--------------------------------------------------------------------------------
zg 2016-11-17 11:48:08+02:00 - build 4842

1. 0003352: CtrlC resets "unmodified text" state.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003352: CtrlC сбрасывает состояние "неизменённый текст".

--------------------------------------------------------------------------------
zg 2016-11-16 14:48:22+02:00 - build 4841

1. separate dragging with mouse and with keyboard.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. таскание диалога мышью и клавиатурой разделены.

--------------------------------------------------------------------------------
svs 2016-11-15 11:18:33+03:00

1. Append info on "far:config" and "far:about" in Help

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Добавка в файлы Помоши про команды "far:config" и "far:about"

--------------------------------------------------------------------------------
drkns 2016-11-15 07:32:16+02:00 - build 4840

1. Remove workaround added in 4835 - fixed in library.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Убран workaround, добавленный в 4835 - исправлено в библиотеке.

--------------------------------------------------------------------------------
zg 2016-11-13 23:24:26+02:00 - build 4839

1. correction of 4838 for menu.

--------------------------------------------------------------------------------
zg 2016-11-13 20:44:50+02:00 - build 4838

1. remove direct processing of input while dragging a dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. убран прямой опрос ввода при перетаскивании диалога.

--------------------------------------------------------------------------------
drkns 2016-11-13 18:38:58+02:00 - build 4837

1. Correction of 4834.

--------------------------------------------------------------------------------
drkns 2016-11-13 14:47:30+02:00 - build 4836

1. 0003348: Far(build 4834) Trap on show folder/file attribute dialog

--------------------------------------------------------------------------------
drkns 2016-11-13 14:17:47+02:00 - build 4835

1. gcc version did not work in ancient OSes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. gcc версия не запускалась в пещерных ОС.

--------------------------------------------------------------------------------
drkns 2016-11-12 13:07:03+02:00 - build 4834

1. Use fmtlib instead of FormatString, FormatScreen, str_printf, ostringstream etc.
   A lot of changes, bugs are possible.

2. Other related refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Вместо FormatString, FormatScreen, str_printf, ostringstream и прочего зоопарка используется fmtlib.
   Изменений много, возможны чудеса.

2. Прочий рефакторинг на эту же тему.

--------------------------------------------------------------------------------
svs 2016-11-08 08:10:59+03:00 - build 4833

1. SQLite 3.15.1

--------------------------------------------------------------------------------
drkns 2016-11-04 00:29:33+02:00 - build 4832

1. Correction of 4831.

--------------------------------------------------------------------------------
zg 2016-10-31 20:55:32+02:00 - build 4831

1. 0003337: Console caption is not restored since 4809.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003337: Не восстанавливается заголовок консоли, начиная c 4809.

--------------------------------------------------------------------------------
drkns 2016-10-21 00:55:50+02:00 - build 4830

1. Coverity warnings.

2. A couple of issues.

--------------------------------------------------------------------------------
shmuel 2016-10-20 19:36:54+02:00 - build 4829

1. M#3275: Allow plugins to load and edit unsaved macro
   Macro browser invokes FAR "Macro settings" dialog after F4/AltF4 on an unsaved keyboard macro.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#3275: Allow plugins to load and edit unsaved macro
   Макробраузер при нажатии F4/AltF4 на несохранённом клавиатурном макросе вызывает фаровский диалог "Macro settings".

--------------------------------------------------------------------------------
drkns 2016-10-20 01:41:37+02:00 - build 4828

1. More on Maximise/Restore and Alt+F9.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Очередные танцы вокруг Maximise/Restore и Alt+F9.

--------------------------------------------------------------------------------
svs 2016-10-17 11:50:09+03:00 - build 4827

1. SQLite 3.15.0

--------------------------------------------------------------------------------
drkns 2016-10-15 14:32:31+02:00 - build 4826

1. Forum: sometimes decreasing the console size caused garbage in the inner buffer.

2. Other related issues. Write if something has been broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: иногда при уменьшении размеров консоли во внутренний буфер попадал мусор.

2. Всякие прочие мелочи на эту же тему. Если что-нибудь где-нибудь отвалится - пишите.

--------------------------------------------------------------------------------
zg 2016-10-15 03:59:22+02:00 - build 4825

1. correction of 4808.1.

2. ACTL_REDRAWALL could leave some windows not redrawn.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4808.1.

2. ACTL_REDRAWALL мог перерисовывать не все окна.

--------------------------------------------------------------------------------
w17 2016-10-14 20:34:39+03:00 - build 4824

1. Usual behavior showing the number of background windows.
   Panel.ScreenNumber is now 3-state, = 1 by default.
   The number of dialogs is shown for state 2 only.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Привычное поведение при показе числа фоновых окон.
   Panel.ScreenNumber теперь 3-state, с умолчанием = 1.
   Число диалогов показываем только для состояния 2.

--------------------------------------------------------------------------------
zg 2016-10-13 17:16:58+02:00 - build 4823

1. 0003327: ECTL_REDRAW does not redraw during processing.

--------------------------------------------------------------------------------
drkns 2016-10-13 09:33:05+02:00 - build 4822

1. Correction of 4603. Pass the enumerated to custom sorting only if it has already been read or it will be read.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 4603. Передаём перечисленное в кастомную сортировку только если оно уже считано или будет.

--------------------------------------------------------------------------------
drkns 2016-10-12 23:24:37+02:00 - build 4821

1. 0003304: Console output from a plugin is duplicated beyond the window

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003304: Вывод на консоль из плагина удваивается за пределами окна

--------------------------------------------------------------------------------
zg 2016-10-11 18:16:57+02:00 - build 4820

1. correction of 4818: pressing enter on multiarc panel would ask for unpacking.

2. correction of 4818: same behavior for launching built-in associations on enter key press.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4818: при нажатии enter на панели multiarc задавался вопрос на распаковку.

2. уточнение 4818: аналогичное поведение для запуска по enter встроенных ассоциаций.

--------------------------------------------------------------------------------
drkns 2016-10-10 23:09:35+02:00 - build 4819

1. Shorten copy-paste a bit in file modification time check.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Сократим немного копипасту в проверке времени изменения файла.

--------------------------------------------------------------------------------
zg 2016-10-10 16:33:04+02:00 - build 4818

1. 0003325: Detect external file editing and post back to plugin.

--------------------------------------------------------------------------------
drkns 2016-10-10 02:27:15+02:00 - build 4817

1. Correction of 4816.

--------------------------------------------------------------------------------
drkns 2016-10-09 21:48:44+02:00 - build 4816

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2016-10-09 01:42:02+02:00 - build 4815

1. Correction of 4796.4.

2. LTCG can be inhibited in makefile_vc for debug purposes.

3. Commands moved from svn_tag_build_ssl.m4 to svn_tag_build_ssl.bat.
   Also, the created tag is now shown explicitly.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 4796.4.

2. В makefile_vc можно выключать LTCG для отладочных целей.

3. Команды из svn_tag_build_ssl.m4 переехали в svn_tag_build_ssl.bat.
   Также теперь оно явно показывает, какой тег собирается создавать.

--------------------------------------------------------------------------------
drkns 2016-10-08 15:14:07+02:00 - build 4814

1. Line selection would reset on replacement if persistent blocks mode was on.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В режиме постоянных блоков сбрасывалось выделение в строке при замене.

--------------------------------------------------------------------------------
zg 2016-10-08 13:51:32+02:00 - build 4813

1. 0003324: Find/Replace in editor does not highlight found entries.

--------------------------------------------------------------------------------
drkns 2016-10-08 10:38:23+02:00 - build 4812

1. Workaround for another VS bug.

--------------------------------------------------------------------------------
drkns 2016-10-08 02:27:23+02:00 - build 4811

1. Continuation of 4810.2.

--------------------------------------------------------------------------------
drkns 2016-10-08 01:10:06+02:00 - build 4810

1. More on console flags: instead of creating from scratch we inherit the existing ones and change the necessary.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё раз о флагах консоли: вместо создания с нуля наследуем существующие и меняем только то, что нам нужно.

2. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2016-10-06 22:59:17+02:00 - build 4809

1. ENABLE_AUTO_POSITION and ENABLE_INSERT_MODE console flags would not be saved:
   - the window could be positioned suboptimally on restore;
   - apps like cmd could work in 'overwrite' mode when launched from FAR.

2. A couple of issues.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не сохранялись флаги консоли ENABLE_AUTO_POSITION и ENABLE_INSERT_MODE:
   - окно могло неоптимально позиционироваться при разворачивании;
   - запущенный из фара, например, cmd мог внезапно оказаться в режиме 'overwrite'.

2. Пара мелочей.

--------------------------------------------------------------------------------
zg 2016-10-06 19:59:25+02:00 - build 4808

1. correction of 4803 for nested dialogs.

2. correction of 4807.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4803 для вложенных диалогов.

2. уточнение 4807.

--------------------------------------------------------------------------------
zg 2016-10-05 20:37:13+02:00 - build 4807

1. correction of 4803 for the grabber.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4803 для граббера.

--------------------------------------------------------------------------------
drkns 2016-10-04 09:47:59+02:00 - build 4806

1. Correction of 4794 & 4805.

--------------------------------------------------------------------------------
drkns 2016-10-03 21:28:23+02:00 - build 4805

1. 0003318: "Message not found" errors when opening F9 > Options > Colors

--------------------------------------------------------------------------------
drkns 2016-10-02 18:45:31+02:00 - build 4804

1. Refactoring.

--------------------------------------------------------------------------------
zg 2016-10-01 18:23:05+02:00 - build 4803

1. 0003051: ECTL_REDRAW call from dialog.

--------------------------------------------------------------------------------
drkns 2016-10-01 14:28:21+02:00 - build 4802

1. IN some cases, temporary files would not be deleted after browsing archives.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В некоторых случаях не удалялись временные файлы после просмотра архивов.

--------------------------------------------------------------------------------
drkns 2016-10-01 00:08:29+02:00 - build 4801

1. Correction of 4800.

--------------------------------------------------------------------------------
drkns 2016-09-30 19:31:55+02:00 - build 4800

1. 0003315: unload:plugin.dll not close panel

--------------------------------------------------------------------------------
drkns 2016-09-30 12:04:12+02:00 - build 4799

1. Correction of 4798.

--------------------------------------------------------------------------------
drkns 2016-09-29 17:30:16+02:00 - build 4798

1. Modifiers did not work with the mouse wheel.

2. CtrlP/CtrlM should not interfere with built-in clipboard now.

3. Crash after AltEnd on plugin panel containing custom columns.

4. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не работали модификаторы с mouse wheel.

2. CtrlP/CtrlM теперь не должны конфликтовать со встроенным буфером обмена.

3. Падение при нажатии AltEnd на панели плагина с нестандартными колонками.

4. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2016-09-25 20:32:14+02:00 - build 4797

1. 0001040: Main Usermenu & Console Command: "CLS & ECHO. & ipconfig /all & ECHO. & ECHO. & PAUSE" doesn't work.

--------------------------------------------------------------------------------
drkns 2016-09-25 20:06:40+02:00 - build 4796

1. 0003255: Content of symbolic links not copied

2. 0003309: File associations - Ctrl-Up and Ctrl-Down do not move items

3. 0003310: PluginW.pas out of sync with plugin.hpp

4. 0003311: Incorrect QueryDosDevice call in MatchNtPathRoot (pathmix.cpp)

--------------------------------------------------------------------------------
drkns 2016-09-22 02:17:12+02:00 - build 4795

1. An old bug related to at least 1.65 - possible stack overflow in main menu.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Древний, ещё как минимум со времён 1.65 баг - в главном меню можно было получить переполнение стека.

2. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2016-09-18 02:48:50+02:00 - build 4794

1. Workaround for VS bug. See connect #3103404 for details.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Обход бага VS. Подробности - connect #3103404.

--------------------------------------------------------------------------------
drkns 2016-09-17 22:13:26+02:00 - build 4793

1. constexpr.

2. longPathAware = true for Windows 10.

3. Refactoring.

--------------------------------------------------------------------------------
drkns 2016-09-15 02:23:25+02:00 - build 4792

1. Correction of 4784.1.

2. Code analysis warnings.

--------------------------------------------------------------------------------
drkns 2016-09-13 18:28:08+02:00 - build 4791

1. Crash in viewer when copying selected UTF-8 text.

2. Incorrect text/hex conversion in search dialog.

3. Crash after pressing End on radiobutton in dialog.

4. Editor screen would not refresh while scrolling it with Ctrl-Up/Down from "Find all" menu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Падение при копировании выделенного UTF-8 текста из вьювера.

2. Некорректное преобразование text/hex в диалоге поиска.

3. Падение при нажатии End на radiobutton в диалоге.

4. Не обновлялся экран редактора при прокрутке по Ctrl-Up/Down из меню "Find all".

--------------------------------------------------------------------------------
svs 2016-09-13 15:13:03+03:00 - build 4790

1. SQLite 3.14.2

--------------------------------------------------------------------------------
drkns 2016-09-12 23:35:38+02:00 - build 4789

1. Correction of 4788.3.

2. Minor issues.

--------------------------------------------------------------------------------
drkns 2016-09-12 19:23:16+02:00 - build 4788

1. Displaying a dialog while loading a plugin could leave console caption empty.

2. DM_SETTEXT during DN_INITDIALOG would reset 'unchanged' in input string fields.

3. Global replacement __int64 -> long long and other refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Вывод плагином диалога при загрузке мог оставлять заголовок консоли пустым.

2. DM_SETTEXT во время DN_INITDIALOG сбрасывал 'unchanged' в строках ввода.

3. Глобальная замена __int64 -> long long и прочий рефакторинг.

--------------------------------------------------------------------------------
drkns 2016-09-11 18:53:56+02:00 - build 4787

1. 0003299: starting from 3.0.4784 x86 a new association would not be saved after editing

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003299: начиная с версии 3.0.4784 x86 нельзя создать новую ассоциацию - не сохраняется после редактирования

--------------------------------------------------------------------------------
drkns 2016-09-11 04:28:53+02:00 - build 4786

1. 0003294: Empty combo box line

2. Correction of DIF_EDITOR processing in dialogs.

3. Minor issues.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003294: Пустая строка комбобокса

2. Уточнение обработки DIF_EDITOR в диалогах.

3. Пара мелочей.

--------------------------------------------------------------------------------
drkns 2016-09-09 23:40:13+02:00 - build 4785

1. After 4778, WindowMode was broken.

--------------------------------------------------------------------------------
drkns 2016-09-08 23:08:42+02:00 - build 4784

1. Refactoring.

2. TinyXML-2 4.0.1.

--------------------------------------------------------------------------------
shmuel 2016-09-06 09:16:24+02:00 - build 4783

1. For recording/modifying/deleting keyboard macros with Ctrl.Ctrl. :
   a) Existing stationary macros bound on the same combination (area,key) are equated to
      built-in Far keyboard combinations, i.e. Far doesn't ask for them to be deleted or redefined.
   b) The behavior for existing keyboard macros hasn't been changed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При записи/модификации/удалении клавиатурных макросов с помощью Ctrl.Ctrl. :
   a) Существующие стационарные макросы, назначенные на то же сочетание (area,key) приравниваются
      к встроенным кнопкосочетаниям Far, то-есть Far больше не предлагает их удалить либо переопределить.
   b) Для существующих клавиатурных макросов поведение остаётся прежним.

--------------------------------------------------------------------------------
drkns 2016-09-05 20:21:32+02:00 - build 4782

1. Forum: copying didn't work after Ctrl+L Tab Ctrl+L.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: не работало копирование после Ctrl+L Tab Ctrl+L.

--------------------------------------------------------------------------------
zg 2016-09-05 19:25:21+02:00 - build 4781

1. forum: If FCTL_GETUSERSCREEN is called while a dialog is shown (same for a menu or help),
   then the dialog stays in clipboard for some reason.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. с форума: Если вызвать команду FCTL_GETUSERSCREEN в момент когда на экране диалог (то же если меню или справка),
   то этот диалог почему-то остаётся в буфере.

--------------------------------------------------------------------------------
zg 2016-09-05 12:27:54+02:00 - build 4780

1. continuation of 4777.

--------------------------------------------------------------------------------
drkns 2016-09-05 00:52:20+02:00 - build 4779

1. It happens that there are plugins which assume that Message can be passed nullptr instead of "".

2. GCC warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Оказывается, есть плагины, считающие, что можно в Message передавать nullptr вместо "".

2. GCC warnings.

--------------------------------------------------------------------------------
drkns 2016-09-04 23:49:35+02:00 - build 4778

1. Refactoring of keyboard.cpp. Dropped much copypasta. Miracles are possible.

2. Correction of displaying of clock at start.

3. 4777 could crash on certain windows close.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг keyboard.cpp. Выкинуто много, много копипасты. Возможны сказочные чудеса.

2. Уточнение отрисовки часов при старте.

3. 4777 мог падать при закрытии некоторых окон.

--------------------------------------------------------------------------------
zg 2016-09-04 21:21:02+02:00 - build 4777

1. refactoring of the window manager.

--------------------------------------------------------------------------------
zg 2016-09-04 15:37:13+02:00 - build 4776

1. do not redraw lists and open combo boxes if dialog redrawing is disabled.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. если запрещена перерисовка диалога, не перерисовываем списки и открытые комбобоксы.

--------------------------------------------------------------------------------
drkns 2016-09-03 18:19:14+02:00 - build 4775

1. Crash after certain manipulations with plugin panels.

2. A leak.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Падение при определённых манипуляциях с панелями плагинов.

2. Утечка там же.

--------------------------------------------------------------------------------
zg 2016-09-01 17:39:45+02:00 - build 4774

1. 0003288: ShowTotalSize for Plugin.

--------------------------------------------------------------------------------
drkns 2016-09-01 01:21:07+02:00 - build 4773

1. Continuation of 4772.

--------------------------------------------------------------------------------
drkns 2016-08-31 03:08:55+02:00 - build 4772

1. Rethinking the concept of exception handling again.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Очередное переосмысление концепции обработки исключений.

--------------------------------------------------------------------------------
zg 2016-08-29 19:46:17+02:00 - build 4771

1. FSF.FarNameToInputRecord would fill KeyEvent.uChar.UnicodeChar incorrectly for keys like "AltShift8".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. FSF.FarNameToInputRecord неправильно заполнял KeyEvent.uChar.UnicodeChar для клавиш типа "AltShift8".

--------------------------------------------------------------------------------
drkns 2016-08-25 14:55:58+02:00 - build 4770

1. Add proper validation for configuration parameters so that checks are not scattered all over the code.

2. Editor.Set second parameter is now optional (-1 by default).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Добавим нормальную валидацию конфигурационных параметров, дабы не размызвать проверки ровным слоем по всему коду.

2. Второй параметр Editor.Set теперь опционален (по умолчанию -1).

--------------------------------------------------------------------------------
shmuel 2016-08-25 14:24:34+02:00 - build 4769

1. Another correction of 4767.

--------------------------------------------------------------------------------
shmuel 2016-08-25 13:53:19+02:00 - build 4768

1. Correction of 4767.

--------------------------------------------------------------------------------
shmuel 2016-08-25 13:27:23+02:00 - build 4767

1. MacroAPI: Editor.Set(0) call would set the tabulation length to zero which caused a crash.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. MacroAPI: вызов Editor.Set(0) выставлял длину таба равной нулю, что в дальнейшем приводило к падению.

--------------------------------------------------------------------------------
drkns 2016-08-25 00:57:25+02:00

1. Continue headers validation.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение валидации шапок.

--------------------------------------------------------------------------------
drkns 2016-08-24 18:08:24+02:00 - build 4766

1. Correction of exception processing.

2. After 4709, changing of the console size with "mode x, y" did not work.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнения обработки исключений.

2. После 4709 не работало изменение размера консоли с помощью "mode x, y".

--------------------------------------------------------------------------------
drkns 2016-08-23 11:20:47+02:00 - build 4765

1. Viewer search in UTF8 files was broken.

2. Viewer regex search was broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не работал поиск в UTF8-файлах во вьювере.

2. Там же - криво работал поиск по регулярным выражениям.

--------------------------------------------------------------------------------
drkns 2016-08-22 22:01:40+02:00

1. GCC 6.

--------------------------------------------------------------------------------
drkns 2016-08-22 11:43:23+02:00

1. Regular headings in all cpp/hpp files.

2. A script is added for validation of #1.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Приведены в порядок шапки во всех cpp/hpp.

2. Добавлен скрипт для валидации п. 1.

--------------------------------------------------------------------------------
drkns 2016-08-20 14:01:57+02:00 - build 4764

1. Correction of 4757.1.

--------------------------------------------------------------------------------
drkns 2016-08-19 09:45:27+02:00 - build 4763

1. Correction of 4762.

--------------------------------------------------------------------------------
drkns 2016-08-18 22:11:54+02:00 - build 4762

1. Continuation of 0003274.

--------------------------------------------------------------------------------
drkns 2016-08-18 21:15:20+02:00 - build 4761

1. Correction of 4760.1.

--------------------------------------------------------------------------------
drkns 2016-08-18 02:34:26+02:00 - build 4760

1. 0003274: Changing keyboard layout with Ctrl-Shift in input fields incorrectly denotes the beginning of field modification
   Processing FEDITLINE_CLEARFLAG moved partially to EditControl.

2. Other minor refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003274: В полях ввода комбинация клавиш переключения языка Ctrl-Shift ошибочно фиксирует начало изменения поля
   Обработка FEDITLINE_CLEARFLAG частично вынесена в EditControl.

2. Прочий мелкий рефакторинг.

--------------------------------------------------------------------------------
svs 2016-08-17 20:23:57+03:00 - build 4759

1. SQLite 3.14.1

--------------------------------------------------------------------------------
drkns 2016-08-15 09:23:14+02:00 - build 4758

1. More paranoid options for GCC.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Более параноидальные опции для GCC.

--------------------------------------------------------------------------------
drkns 2016-08-14 15:28:56+02:00 - build 4757

1. Refactoring for everything encoding related.

2. -flto for GCC. Suddenly Far.exe lost ~750 K of size.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг всего, связанного с кодировками.

2. -flto для GCC. Far.exe внезапно похудел аж на ~750 K.

--------------------------------------------------------------------------------
drkns 2016-08-13 17:07:34+02:00 - build 4756

1. Another correction of 4747.

--------------------------------------------------------------------------------
svs 2016-08-09 10:31:09+03:00 - build 4755

1. SQLite 3.14.0

--------------------------------------------------------------------------------
drkns 2016-08-08 23:38:23+02:00 - build 4754

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2016-08-07 21:59:50+02:00 - build 4753

1. Adapters were broken after 4747.

--------------------------------------------------------------------------------
drkns 2016-08-07 15:01:50+02:00 - build 4752

1. A couple of optimizations for clipboard processing.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Пара оптимизаций работы с буфером обмена.

--------------------------------------------------------------------------------
drkns 2016-08-06 14:56:47+02:00 - build 4751

1. Correction of processing of incorrect hex strings in dialogs.

2. Exception diagnostics was broken in one of the previous builds.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение обработки некорректных hex-строк в диалогах.

2. В одном из предыдущих билдов погнулась диагностика исключений.

--------------------------------------------------------------------------------
drkns 2016-08-04 22:16:44+02:00 - build 4750

1. Correction of 4748.

--------------------------------------------------------------------------------
drkns 2016-08-03 23:30:06+02:00 - build 4749

1. %1, %2, %3... are replaced with {0}, {1}, {2} in code and language files...
   If you had your own lng then you have to replace those by yourself.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Вместо %1, %2, %3... в коде и языковых файлах теперь {0}, {1}, {2}...
   Если у вас были свои lng - в них надо сделать замену первого на второе.

--------------------------------------------------------------------------------
drkns 2016-08-02 22:18:59+02:00 - build 4748

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2016-07-30 21:27:07+02:00 - build 4747

1. Refactoring.

--------------------------------------------------------------------------------
zg 2016-07-30 20:43:15+02:00 - build 4746

1. [Wishes 0002857]: Recognize pressing combinations of multiple modifiers.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. [Wishes 0002857]: Распознавать нажатия сочетаний нескольких модификаторов.

--------------------------------------------------------------------------------
drkns 2016-07-29 01:34:39+02:00 - build 4745

1. File panels would re-read their content for some reason (with all the side effects like sudden change of current directory of the process) on window redraw
   which could happen anytime in general.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Файловые панели зачем-то физически перечитывали свое содержимое (со всеми побочными эффектами, типа внезапной смены текущего каталога процесса) при простой перерисовке окна,
   которая, в общем случае, может произойти когда угодно. О сколько нам открытий чудных...

--------------------------------------------------------------------------------
drkns 2016-07-23 12:48:09+02:00 - build 4744

1. Do not reset text color for inner FCTL_GETUSERSCREEN calls.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не сбрасываем цвет текста при вложенных вызовах FCTL_GETUSERSCREEN.

--------------------------------------------------------------------------------
drkns 2016-07-16 13:51:54+02:00 - build 4743

1. Sometimes, with a bit of luck, call for editor after using a panel plugin could cause crash.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Иногда, если очень повезёт, вызов редактора после работы с панельным плагином мог приводить к падению.

--------------------------------------------------------------------------------
drkns 2016-07-09 22:56:35+02:00 - build 4742

1. Ansi plugins with insufficiently good resources could fail to load.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ansi-плагины, у которых ресурсы недостаточно хороши, могли не загружаться.

--------------------------------------------------------------------------------
drkns 2016-07-09 01:21:52+02:00 - build 4741

1. Another bug at the same place.

--------------------------------------------------------------------------------
drkns 2016-07-08 22:07:58+02:00 - build 4740

1. Incorrect processing of backspace in local user menu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Некорректная обработка backspace в local user menu.

--------------------------------------------------------------------------------
drkns 2016-07-08 09:12:06+02:00 - build 4739

1. 0003265: "cd \ " does not work in command line

--------------------------------------------------------------------------------
drkns 2016-07-06 23:04:32+02:00 - build 4738

1. Coverity warnings.

--------------------------------------------------------------------------------
drkns 2016-07-06 00:46:21+02:00 - build 4737

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2016-07-03 21:15:27+02:00 - build 4736

1. Temporary files could be deleted prematurely.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Временные файлы могли удаляться раньше времени.

--------------------------------------------------------------------------------
drkns 2016-07-03 19:11:29+02:00 - build 4735

1. Crash in viewer search under certain circumstances.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При определенных условиях мог падать поиск во вьювере.

--------------------------------------------------------------------------------
drkns 2016-07-03 18:07:21+02:00 - build 4734

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2016-07-02 15:10:30+02:00 - build 4733

1. 0003261: Crash on ф: in command line

--------------------------------------------------------------------------------
drkns 2016-07-01 01:13:59+02:00 - build 4732

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2016-06-30 10:25:43+02:00 - build 4731

1. Continue experimental changes in launcher.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение экспериментальных изменений в запускателе.

--------------------------------------------------------------------------------
drkns 2016-06-29 21:51:02+02:00 - build 4730

1. Continue experiments:
   - allow FCTL_<G|S>ETUSERSCREEN nested calls.
   - support for FCTL_SETUSERSCREEN without prior FCTL_GETUSERSCREEN (it worked before).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение экспериментов:
   - вложенные вызовы FCTL_<G|S>ETUSERSCREEN можно.
   - поддержка FCTL_SETUSERSCREEN без предварительного FCTL_GETUSERSCREEN (раньше работало).

--------------------------------------------------------------------------------
drkns 2016-06-29 09:41:59+02:00 - build 4729

1. 'Protection' from nested calls in FCTL_<G|S>ETUSERSCREEN.

2. Minor issues.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 'Защита' от вложенных вызовов FCTL_<G|S>ETUSERSCREEN.

2. Пара мелочей.

--------------------------------------------------------------------------------
drkns 2016-06-27 22:43:25+02:00 - build 4728

1. Continue experimental changes in launcher.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение экспериментальных изменений в запускателе.

--------------------------------------------------------------------------------
drkns 2016-06-27 00:46:22+02:00 - build 4727

1. Continue experimental changes in launcher.
   Ctrl-G and User Menu multiline commands should work better now.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение экспериментальных изменений в запускателе.
   Должны лучше работать Ctrl-G и многострочные команды в User Menu.

--------------------------------------------------------------------------------
shmuel 2016-06-26 16:37:24+02:00 - build 4726

1. Extend Panel.SetCustomSortMode() function capabilities.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Расширение возможностей функции Panel.SetCustomSortMode().

--------------------------------------------------------------------------------
drkns 2016-06-24 23:19:28+02:00 - build 4725

1. Forum: administrative rights indicator stays on screen at program launch for some reason.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: при запуске программ индикатор административных прав почему-то остаётся на экране.

--------------------------------------------------------------------------------
drkns 2016-06-24 01:39:45+02:00 - build 4724

1. Continuation of 4723 - exception for ShiftEnter and support for 'run as'.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 4723 - исключение для ShiftEnter и поддержка run as.

--------------------------------------------------------------------------------
drkns 2016-06-24 01:15:01+02:00 - build 4723

1. Highly experimental feature: built-in associations are applied to command line.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Очень экспериментальная фича: встроенные ассоциации распространяются на комстроку.

--------------------------------------------------------------------------------
drkns 2016-06-23 22:46:27+02:00 - build 4722

1. Correction of 4710.

--------------------------------------------------------------------------------
drkns 2016-06-23 21:09:03+02:00 - build 4721

1. New parameter: far:config -> System.Executor.Comspec defining the command processor used (%comspec% by default).

2. System.Executor.ComspecArguments and System.Executor.ComspecCondition support environment variables.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Новый параметр: far:config -> System.Executor.Comspec, определяет используемый командный процессор (по умолчанию %comspec%).

2. В System.Executor.ComspecArguments и System.Executor.ComspecCondition поддерживаются переменные окружения.

--------------------------------------------------------------------------------
drkns 2016-06-21 21:33:36+02:00 - build 4720

1. Continuation of 4712.

2. gcc warning.

--------------------------------------------------------------------------------
drkns 2016-06-20 00:20:17+02:00 - build 4719

1. Variables in ExcludeCmds would not expand when used in autocompletion.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Переменные в ExcludeCmds не разворачивались при использовании в автодополнении.

--------------------------------------------------------------------------------
drkns 2016-06-20 00:15:19+02:00 - build 4718

1. #0003257: (far 3.0.4700.x64) Exception in Viewer when searching HEX values

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. #0003257: (far 3.0.4700.x64) Исключительная ситуация во Viewer при поиске HEX-значений

--------------------------------------------------------------------------------
t-rex 2016-06-19 21:15:20+02:00 - build 4717

1. Mantis#2467: Endless regular expression replace in editor

2. Broken build for VC2015 update 3 for some reason (it appears to be a bug in the latter one)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#2467: Застряёт регэксп поиск с заменой в редакторе

2. Не собиралось почему то в VC2015 update 3 (вроде баг в последнем)

--------------------------------------------------------------------------------
drkns 2016-06-18 18:09:29+02:00 - build 4716

1. Correction of 4715.

--------------------------------------------------------------------------------
drkns 2016-06-18 13:55:55+02:00 - build 4715

1. Forum: incorrect drawing of clock according to regional settings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: неверная прорисовка часов с учетом региональных настроек.

--------------------------------------------------------------------------------
drkns 2016-06-18 12:52:50+02:00 - build 4714

1. Forum: hard link icons on passive panel disappear after copying or moving.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: после копирования или переноса исчезают значки жестких ссылок на пассивной панели.

--------------------------------------------------------------------------------
drkns 2016-06-18 11:51:33+02:00 - build 4713

1. Workaround for a bug of leaving the fullscreen mode in Windows 10.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Обход бага выхода из полноэкранного режима в Windows 10.

--------------------------------------------------------------------------------
drkns 2016-06-17 22:38:32+02:00 - build 4712

1. Partial rollback of previous experiments with console modes.

2. Extend WindowMode: add two StickyX parameters (true by default) and StickyY (false by default)
   defining which axes the size has to adjust to (and, respectively, where the scrollbars must not be).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Частичный откат предыдущих экспериментов с режимами консоли.

2. WindowMode расширен: добавлены два дополнительных параметра StickyX (по умолчанию true) и StickyY (по умолчанию false),
   определяющие, к каким осям должен подстраиваться размер (и где, соответственно, должны отсутствовать полосы прокрутки).

--------------------------------------------------------------------------------
drkns 2016-06-17 17:44:53+02:00 - build 4711

1. A couple of bugs for WindowMode.

--------------------------------------------------------------------------------
drkns 2016-06-17 15:12:33+02:00 - build 4710

1. Restore compatibility with Win2k.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Восстановим работоспособность в Win2k.

--------------------------------------------------------------------------------
w17 2016-06-16 19:27:33+03:00 - build 4709

1. Again, the correction of 4697.
   Track Win10 full screen mode switching with "[ ] Wrap text output on resize" console setting
   Restore the original size of console buffer on exit
   ConEmu should not break for System.WindowMode = false

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Снова уточнение 4697.
   Отслеживание переключения полноэкранного режима Win10 с настройкой консоли: [ ] Wrap text output on resize
   Восстановление оригинального размера консольного буфера при выходе
   Не должен ломаться ConEmu для System.WindowMode = false

--------------------------------------------------------------------------------
zg 2016-06-15 22:27:05+02:00 - build 4708

1. forum: ShiftEnd and ShiftHome slow work in panels.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. с форума: ShiftEnd и ShiftHome в панелях тормозят.

--------------------------------------------------------------------------------
drkns 2016-06-14 18:31:09+02:00 - build 4707

1. System associations having bat or cmd as "associated program" would start in separate window.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Системные ассоциации, у которых "associated program" - bat или cmd, запускались в отдельном окне.

--------------------------------------------------------------------------------
drkns 2016-06-13 19:32:18+02:00 - build 4706

1. Forum: an issue with panels in Fullscreen view

--------------------------------------------------------------------------------
zg 2016-06-12 21:04:46+02:00 - build 4705

1. visual issues with mouse scrolling in editor after 4685.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. после 4685 визуальные проблемы со скроллингом в редакторе мышкой.

--------------------------------------------------------------------------------
drkns 2016-06-12 16:32:43+02:00 - build 4704

1. 0003254 again:
   - System.Executor.ComspecCondition is empty by default and built-in logic is used (<>|& are outside the quotes like before).
   - inner RegExp is used because std::regex implementations in supported compilers are far from good (especially in gcc).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё раз 0003254:
   - System.Executor.ComspecCondition по умолчанию пуст и используется встроенная логика (<>|& вне кавычек, как раньше).
   - используется внутренний RegExp, т. к. реализации std::regex в поддерживаемых компиляторах оставляют желать лучшего (особенно в gcc, где оно, видимо, просто для красоты).

--------------------------------------------------------------------------------
drkns 2016-06-12 14:55:52+02:00 - build 4703

1. 0003254: Far 3.0 build 4700-4702 crashes on long file lists (!&)

--------------------------------------------------------------------------------
drkns 2016-06-11 22:55:07+02:00 - build 4702

1. Another correction of launcher.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё одно уточнение работы запускателя.

--------------------------------------------------------------------------------
drkns 2016-06-11 20:05:25+02:00 - build 4701

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2016-06-10 23:49:57+02:00 - build 4700

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2016-06-09 01:50:33+02:00 - build 4699

1. Once more #0003223: Add System.Executor.ComspecCondition parameter defining when a command should be run via comspec.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё раз #0003223: Добавлен параметр System.Executor.ComspecCondition, определяющий, когда команду следует запускать через comspec.

--------------------------------------------------------------------------------
w17 2016-06-08 21:15:44+03:00 - build 4698

1. Correction of 4697 - do not try to switch Win10 full-screen mode off, do nothing on Alt-F9 for it.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 4697 - не пытаемся отключать Win10 full-screen, просто ничего не делаем по Alt-F9 для него.

--------------------------------------------------------------------------------
w17 2016-06-08 17:25:01+03:00 - build 4697

1. Try to handle Win10 full-screen mode correctly.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Пытаемся нормально отрабатывать полноэкранный режим Win10.

--------------------------------------------------------------------------------
zg 2016-06-08 15:46:48+02:00 - build 4696

1. correction of 4676.

--------------------------------------------------------------------------------
zg 2016-06-02 01:51:47+02:00 - build 4695

1. forum: If a macro is being written in dialog (press Ctrl.) then the record indicator does not appear at once,
   only after additional key press.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. с форума: Если в диалоге начать записывать макрос (нажать Ctrl.), то индикатор записи макроса сразу не появляется,
   а только после нажатия дополнительной клавиши (и то не любой).

--------------------------------------------------------------------------------
drkns 2016-06-01 22:51:16+02:00 - build 4694

1. Forum: Menu.Id in dialogs could cause crash.

2. So not save farmenu.ini after Alt-F4 to keep broken menu files.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: Menu.Id в диалогах приводило к падению.

2. Не пересохраняем farmenu.ini после Alt-F4, дабы кривые файлы меню не терялись сразу же.

--------------------------------------------------------------------------------
drkns 2016-05-25 20:16:03+02:00 - build 4693

1. For [x] Cursor at the end, replacement to a string containing \t worked incorrectly in editor.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При [x] Cursor at the end неадекватно работала замена в редакторе, содержащая \t.

--------------------------------------------------------------------------------
zg 2016-05-24 13:58:55+02:00 - build 4692

1. correction of 4685.

--------------------------------------------------------------------------------
zg 2016-05-24 00:30:32+02:00 - build 4691

1. correction of 4685.

--------------------------------------------------------------------------------
drkns 2016-05-23 18:05:10+02:00 - build 4690

1. Correction of launcher function.

--------------------------------------------------------------------------------
svs 2016-05-23 15:51:37+03:00 - build 4689

1. SQLite 3.13.0

--------------------------------------------------------------------------------
drkns 2016-05-22 21:51:25+02:00 - build 4688

1. 0003245: Crash after Shift-F2 in User Menu

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003245: Падение при нажатии Shift-F2 в User Menu

2. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2016-05-21 20:30:22+02:00 - build 4687

1. On #0003244 - show clock according to OS regional settings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. По мотивам #0003244 - отображаем часы в соответствии с региональными настройками ОС.

--------------------------------------------------------------------------------
zg 2016-05-21 11:27:47+02:00 - build 4686

1. forum: severe slowdown for UNDO/REDO in editor.

2. slowdown for built-in replace after 4673.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. с форума: резкое замедление работы UNDO/REDO в редакторе.

2. замедление встроенной замены после 4673.

--------------------------------------------------------------------------------
zg 2016-05-21 04:45:34+02:00 - build 4685

1. forum: Measure execution time for CtrlAltEnd at the beginning of %FARHOME%\changelog file.

2. slow ECTL_INSERTTEXT after 4673.

3. gcc warning.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. с форума: Измеряем время исполнения CtrlAltEnd, находясь в начале файла %FARHOME%\changelog.

2. медленная работа ECTL_INSERTTEXT после 4673.

3. gcc warning.

--------------------------------------------------------------------------------
drkns 2016-05-20 21:57:30+02:00 - build 4684

1. 0003099: FMENU_CHANGECONSOLETITLE flag may not work in Menu function

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003099: В функции Menu не всегда работает флаг FMENU_CHANGECONSOLETITLE

--------------------------------------------------------------------------------
drkns 2016-05-20 21:16:12+02:00 - build 4683

1. #0003243 user menu items in which .cmd is invoked now start in separate window.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. #0003243 Пункты user-menu, в которых вызывается .cmd начали запускаються в отдельном окне.

--------------------------------------------------------------------------------
drkns 2016-05-19 19:03:12+02:00 - build 4682

1. Correction of 4679.

--------------------------------------------------------------------------------
zg 2016-05-19 18:08:09+02:00 - build 4681

1. artifacts on altf9 in a combo box.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. артефакты при altf9 из комбобокса.

--------------------------------------------------------------------------------
drkns 2016-05-19 01:35:59+02:00 - build 4680

1. Correction of 4679.

--------------------------------------------------------------------------------
drkns 2016-05-19 00:40:27+02:00 - build 4679

1. Continue launcher experiments:
   - launch type (console with waiting / silent with no waiting) is now defined for system associations too.
   - System.Executor.BatchType is gone, everything should work automatically.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение экспериментов с запускателем:
   - тип запуска (консольный с ожиданием / тихий без ожидания) теперь определяется и для системных ассоциаций тоже.
   - System.Executor.BatchType больше нет, всё должно корректно работать автоматически.

--------------------------------------------------------------------------------
zg 2016-05-18 19:37:11+02:00 - build 4678

1. under certain conditions the cursor position in current line was incorrect after ECTL_DELETESTRING.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. при определённых условиях позиция курсора в текущей строке после ECTL_DELETESTRING была неверной.

--------------------------------------------------------------------------------
drkns 2016-05-17 20:41:13+02:00 - build 4677

1. Refactoring - add some const.

--------------------------------------------------------------------------------
zg 2016-05-17 13:03:38+02:00 - build 4676

1. correction 4673 for ECTL_SETPOSITION.

--------------------------------------------------------------------------------
drkns 2016-05-16 22:55:36+02:00 - build 4675

1. Another correction for launcher.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё одно уточнение работы запускателя.

--------------------------------------------------------------------------------
drkns 2016-05-15 22:00:35+02:00 - build 4674

1. Correction of 4668.

--------------------------------------------------------------------------------
zg 2016-05-15 17:37:36+02:00 - build 4673

1. remove window drawing lock.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. убрана блокировка перерисовки окон.

--------------------------------------------------------------------------------
zg 2016-05-15 00:33:49+02:00 - build 4672

1. forum: symbols "бюжэхъё" are not entered in "fast find" window.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. с форума: символ из "бюжэхъё" не включается в быстрый поиск.

--------------------------------------------------------------------------------
drkns 2016-05-13 00:33:18+02:00 - build 4671

1. Correction of processing exceptions for gcc.

2. Additional information in exceptions thrown manually (function, file, line).

3. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение обработки исключений для gcc.

2. Дополнительная информация в исключениях, брошенных вручную (function, file, line).

3. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2016-05-11 23:59:21+02:00 - build 4670

1. Correction of processing DM_GETDIALOGINFO.

2. Warnings.

3. Remove unused #include.

--------------------------------------------------------------------------------
drkns 2016-05-10 22:45:32+02:00 - build 4669

1. Copy progress indication is slightly redone.
   In theory, all drawing bugs should be fixed.
   In reality, anything is possible as usual.

2. Missing standard headers in some *.hpp.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Немного переделан способ вывода прогресса копирования.
   По идее, должны исправиться все существующие баги с прорисовкой.
   В реальности, как обычно, возможно всё.

2. Не хватало стандартных шапок в некоторых *.hpp.

--------------------------------------------------------------------------------
drkns 2016-05-10 18:04:22+02:00 - build 4668

1. Forum: Enter on an office document in panels makes Far wait for the document close.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: после нажатия Enter на офисных документах в панелях Far терпеливо ждёт когда документ будет закрыт.

--------------------------------------------------------------------------------
drkns 2016-05-09 15:17:11+02:00 - build 4667

1. clang warnings.

2. A couple of minor issues.

--------------------------------------------------------------------------------
zg 2016-05-09 14:00:08+02:00 - build 4666

1. correction of 4638.1: Dlg.* in opened combo box.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4638.1: Dlg.* в раскрытом комбобоксе.

--------------------------------------------------------------------------------
zg 2016-05-08 13:27:59+02:00 - build 4665

1. correction of 4638.1: the macro area for combo box is "Dialog".

2. publish WTYPE_COMBOBOX window type. ACTL_GETWINDOWINFO returns the handle of parent dialog in Id.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4638.1: макрообласть для комбобокса - "Dialog".

2. опубликован тип окна WTYPE_COMBOBOX. ACTL_GETWINDOWINFO в Id возвращает хэндл родительского диалога.

--------------------------------------------------------------------------------
drkns 2016-05-08 01:12:06+02:00 - build 4664

1. Correction of 4663.2.

2. Raise the level of warnings for third party libraries.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 4663.2.

2. Повысим уровень предупреждений для thirdparty-библиотек.

--------------------------------------------------------------------------------
drkns 2016-05-07 17:45:49+02:00 - build 4663

1. Correction of total deletion indicator calculation.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение расчета общего индикатора удаления.

2. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2016-05-04 23:22:57+02:00 - build 4662

1. After 4435 the expansion of variables did not work in directory creation dialog.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. После 4435 не работало разворачивание переменных в диалоге создания папки.

2. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2016-05-04 10:20:21+02:00 - build 4661

1. Correction of 4656.2.

2. A pair of minor issues.

--------------------------------------------------------------------------------
drkns 2016-05-03 16:58:07+02:00 - build 4660

1. Correction of 4656.2.

--------------------------------------------------------------------------------
drkns 2016-05-03 13:51:34+02:00 - build 4659

1. 0003229: Removing mounted VHDX files from the drive menu makes file locked

--------------------------------------------------------------------------------
drkns 2016-05-03 11:28:32+02:00 - build 4658

1. 0003228: Shell command CD does not find a path in case of the line ending with a space character

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003228: Shell команда CD не находит путь есть в конце выполняемой стоки стоит пробел

--------------------------------------------------------------------------------
drkns 2016-05-02 19:51:44+02:00 - build 4657

1. Forum: Execute in FAR command line: notepad %FARHOME%\changelog and get "The system cannot find the path specified." error

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. C форума: Выполняем в комстроке FAR: notepad %FARHOME%\changelog. Получаем ошибку "The system cannot find the path specified."

2. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2016-05-02 12:23:29+02:00 - build 4656

1. 0003227: Folders would not open in explorer with Shift+Enter

2. FCTL_GETUSERSCREEN / FCTL_SETUSERSCREEN must be working more correctly now.

3. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003227: Не работает открытие папки в проводнике через Shift+Enter

2. FCTL_GETUSERSCREEN / FCTL_SETUSERSCREEN должны работать более адекватно.

3. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2016-04-30 20:54:00+02:00 - build 4655

1. 0003225: Freeze on "close" button press from modal editor

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003225: Зависание при нажатии на "крестик" консоли из модального редактора

--------------------------------------------------------------------------------
drkns 2016-04-30 15:16:06+02:00 - build 4654

1. Continue fixing the launcher.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжим чинить запускатель.

--------------------------------------------------------------------------------
drkns 2016-04-29 19:13:57+02:00 - build 4653

1. Forum: nightly build does not find itself when starting FAR from FAR command line.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: в текущей ночной при попытке запустить команду far из комстроки far он сам себя не находит.

--------------------------------------------------------------------------------
drkns 2016-04-29 17:31:01+02:00 - build 4652

1. Continuation of 4646 - remove unnecessary window locks.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 4646 - уберём ненужные блокировки окон.

--------------------------------------------------------------------------------
drkns 2016-04-29 16:10:52+02:00 - build 4651

1. Continuation of 4648.

--------------------------------------------------------------------------------
drkns 2016-04-29 13:55:48+02:00 - build 4650

1. And once more.

--------------------------------------------------------------------------------
drkns 2016-04-29 10:36:00+02:00 - build 4649

1. Correction of 4644.

--------------------------------------------------------------------------------
drkns 2016-04-29 09:32:30+02:00 - build 4648

1. Continuation of 4631 - restore System.ShowCheckingFile functioning.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 4631 - восстановим работоспособность System.ShowCheckingFile.

--------------------------------------------------------------------------------
drkns 2016-04-28 19:43:18+02:00 - build 4647

1. Continuation of 4631.

--------------------------------------------------------------------------------
drkns 2016-04-28 19:06:43+02:00 - build 4646

1. Continuation of 4631 - remove unnecessary window locks.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 4631 - уберём ненужные блокировки окон.

--------------------------------------------------------------------------------
drkns 2016-04-28 16:52:55+02:00 - build 4645

1. Correction of 4644.

--------------------------------------------------------------------------------
drkns 2016-04-28 16:47:33+02:00 - build 4644

1. Continuation of experimental changes in launcher:
   - System.Executor.NotQuotedShell and System.Executor.ComSpecParams are removed. Hovewer, there is now System.Executor.ComspecArguments managing both keys and quotes.
     The default value is compatible with cmd.exe - /S /C "{0}" where {0} is replaced with the executed command.
     For bash replace it to -c '{0}', for tcc - to -c {0}
   - (partially) #0003223: when passing to comspec there was unwrapped more than needed.

2. Use std::atomic<T> instead of Interlocked*().

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение экспериментальных изменений в запускателе:
   - System.Executor.NotQuotedShell и System.Executor.ComSpecParams больше нет. Однако, теперь есть System.Executor.ComspecArguments, управляющий одновременно и ключами, и кавычками.
     По умолчанию значение совместимо с cmd.exe - /S /C "{0}", где {0} будет заменено исполняемой командой.
     Для bash замените на -c '{0}', для tcc - на -с {0}
   - (частично) #0003223: при передаче в comspec разворачивалось больше, чем нужно.

2. Используем std::atomic<T> вместо Interlocked*().

--------------------------------------------------------------------------------
zg 2016-04-28 13:20:04+02:00 - build 4643

1. hotkey did not work in combo box for current item.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. в комбобоксе не срабатывал хоткей для текущего элемента.

--------------------------------------------------------------------------------
drkns 2016-04-28 10:40:27+02:00 - build 4642

1. Correction of 4631.

--------------------------------------------------------------------------------
drkns 2016-04-26 22:50:38+02:00 - build 4641

1. Correction of 4635: show "remaining:" when copying a single file and refresh it with the same frequency as for speed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 4635: показываем "remaining:" при копировании одного файла и обновляем его с той же частотой, что и скорость.

--------------------------------------------------------------------------------
zg 2016-04-26 16:23:31+02:00 - build 4640

1. there was an opportunity to choose "Also ask on R/O files" in copy dialog.

2. correction of sending DN_INPUT/DN_CONTROLINPUT for an open combo box.

3. remove strange behavior restoring old list position if DN_LISTHOTKEY is processed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. в диалоге копирования была возможность выбрать "Also ask on R/O files".

2. уточнение посылки DN_INPUT/DN_CONTROLINPUT для открытого комбобокса.

3. убрано странное поведение по восстановлению старой позиции в списке, если DN_LISTHOTKEY обработан.

--------------------------------------------------------------------------------
zg 2016-04-26 03:41:23+02:00 - build 4639

1. remove unused code.

--------------------------------------------------------------------------------
zg 2016-04-25 23:43:02+02:00 - build 4638

1. grabber did not work if a combo box was open.

2. DM_SETCOMBOBOXEVENT returned garbage.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. при открытом комбобоксе не работал граббер.

2. DM_SETCOMBOBOXEVENT возвращало мусор.

--------------------------------------------------------------------------------
drkns 2016-04-24 11:15:15+02:00 - build 4637

1. Correction of 4633.

--------------------------------------------------------------------------------
drkns 2016-04-24 10:02:26+02:00 - build 4636

1. Correction of 4635.

--------------------------------------------------------------------------------
drkns 2016-04-23 19:19:54+02:00 - build 4635

1. Copying progress indicator is displayed as "%done% / %total%".

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. По просьбам телезрителей: в диалоге копирования отображаем счётчики как "%done% / %total%", а не наоборот.

2. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2016-04-23 02:03:50+02:00 - build 4634

1. Forum: lua:far.Message"aaa". The console caption is not restored after closing the console.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: lua:far.Message"aaa". После закрытия диалога заголовок консоли не восстанавливается.

--------------------------------------------------------------------------------
drkns 2016-04-23 01:59:07+02:00 - build 4633

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2016-04-23 00:03:37+02:00 - build 4632

1. Experimental: speeding up ECTL_INSERTSTRING (about 50 times faster).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Экспериментально: снятие тормозов с ECTL_INSERTSTRING (стало быстрее примерно в 50 раз).

--------------------------------------------------------------------------------
drkns 2016-04-20 22:42:13+02:00 - build 4631

1. Invocation of dialogs via main menu did not set correct console caption.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При вызове диалогов через главное меню не устанавливался правильный заголовок консоли.
   Да и в целом с этим заголовком творилась какая-то дичь. Многое переделано, возможны баги.

--------------------------------------------------------------------------------
drkns 2016-04-20 17:33:13+02:00 - build 4630

1. Refactoring.

--------------------------------------------------------------------------------
zg 2016-04-20 13:21:24+02:00 - build 4629

1. correction of 4628.

--------------------------------------------------------------------------------
zg 2016-04-20 02:44:24+02:00 - build 4628

1. remove deferred sorting of color areas in editor.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. убрана отложенная сортировка цветовых областей в редакторе.

--------------------------------------------------------------------------------
w17 2016-04-20 01:39:19+03:00 - build 4627

1. Fix 4492.

--------------------------------------------------------------------------------
drkns 2016-04-19 22:42:16+02:00 - build 4626

1. gcc build fix.

2. Refactoring.

--------------------------------------------------------------------------------
svs 2016-04-19 18:18:01+03:00 - build 4625

1. SQLite 3.12.2

--------------------------------------------------------------------------------
w17 2016-04-19 13:18:14+03:00 - build 4624

1. Correction of 4622.

--------------------------------------------------------------------------------
drkns 2016-04-16 01:21:23+02:00 - build 4623

1. Refactoring and renamings.

--------------------------------------------------------------------------------
w17 2016-04-14 16:24:08+03:00 - build 4622

1. M#3183: Panel FreeInfo, TotalInfo - add options for human-readable format (e.g. "1.375 T" free space)
   Ctrl-Shift-S (M#3089) now also affects displaying of total size and free space in file panel.
   The Panel.Info.ShowBytes -> Panel.ShowBytes parameter has changed

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#3183: Panel FreeInfo, TotalInfo - add options for human-readable format (e.g. "1.375 T" free space)
   Ctrl-Shift-S (M#3089) теперь влияет и на показ общего размера и свободного места в файловой панели.
   Параметр изменился Panel.Info.ShowBytes -> Panel.ShowBytes

--------------------------------------------------------------------------------
zg 2016-04-14 00:25:20+02:00 - build 4621

1. 0003213: Editor redraw time is proportional to the file size for some reason.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003213: Время перерисовки редактора почему-то становится пропорционально размеру файла.

--------------------------------------------------------------------------------
zg 2016-04-13 23:39:18+02:00 - build 4620

1. 0003212: Freeze on ShowHelp/DialogRun call after VCTL_QUIT/ECTL_QUIT.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003212: Зависание при вызове ShowHelp/DialogRun после VCTL_QUIT/ECTL_QUIT.

--------------------------------------------------------------------------------
svs 2016-04-11 10:16:53+03:00 - build 4619

1. SQLite 3.12.1

--------------------------------------------------------------------------------
drkns 2016-04-08 16:05:19+02:00 - build 4618

1. Forum: "Memory corruption somewhere leading to rare crashes."

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: "Где-то портится память и в результате иногда падает."

--------------------------------------------------------------------------------
drkns 2016-04-06 23:43:12+02:00 - build 4617

1. And once more.

--------------------------------------------------------------------------------
drkns 2016-04-06 22:42:14+02:00 - build 4616

1. Fix of fix of 4564.

--------------------------------------------------------------------------------
drkns 2016-04-06 19:41:18+02:00 - build 4615

1. Forum: ANSI plugins lost the file panel cursor (4602).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: ANSI плагины потеряли курсор файловой панели (4602).

--------------------------------------------------------------------------------
drkns 2016-04-06 19:17:59+02:00 - build 4614

1. Correction of 4425.

--------------------------------------------------------------------------------
w17 2016-04-06 18:13:35+03:00 - build 4613

1. Fix 4564.

--------------------------------------------------------------------------------
w17 2016-04-06 13:29:38+03:00 - build 4612

1. M#3200: Inconsistent behavior for Ctrl+F on "regular folder" and on ".."
   [R]Ctrl+[[R]Alt+]F; on ".." now do not add the trailing '\'

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#3200: Неоднообразное поведение по Ctrl+F на "нормальной папке" и на ".."
   [R]Ctrl+[[R]Alt+]F; на ".." теперь не добавляют завершающий '\'

--------------------------------------------------------------------------------
drkns 2016-04-05 21:49:33+02:00 - build 4611

1. Under certain circumstances, search in plugin panel would crash the app.

2. A pair of minor issues.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При определённых условиях поиск в панели плагина приводил к падению.

2. Пара мелочей.

--------------------------------------------------------------------------------
drkns 2016-04-03 14:37:41+02:00 - build 4610

1. Once more 4609.1.

2. A pair of minor issues.

--------------------------------------------------------------------------------
drkns 2016-04-03 00:05:57+02:00 - build 4609

1. Forum: "For some time now file descriptions have been case dependent".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: "С некоторых пор описания файлов неожидано стали регистрозависимые".

--------------------------------------------------------------------------------
drkns 2016-03-31 10:00:26+02:00 - build 4608

1. Correction of 4603. Do not show "?" if the owner is undefined.

2. Other minor refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 4603. Не показываем "?" если владелец не определён.

2. Прочий мелкий рефакторинг.

--------------------------------------------------------------------------------
drkns 2016-03-29 19:15:04+02:00 - build 4607

1. Correction of 4603. Pass the mentioned items to plugins only if they already have been read.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 4603. Возвращаем плагинам перечисленное только если оно уже считано.

--------------------------------------------------------------------------------
drkns 2016-03-27 20:33:46+02:00 - build 4606

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2016-03-26 23:33:54+02:00 - build 4605

1. Correction of 4603.

--------------------------------------------------------------------------------
drkns 2016-03-26 21:56:52+02:00 - build 4604

1. Suppress querying of the rights on highlighting.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Подавляем запросы прав при раскраске.

--------------------------------------------------------------------------------
drkns 2016-03-26 21:16:07+02:00 - build 4603

1. Continuation of 4602. Ask for additional information on files when it is needed. This is related to:
   - the number of hard links
   - the number of streams
   - the size of streams
   - owner
   - content data
   This means that including of this stuff must not slow down displaying of folders unless it is the criterion of sorting.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжим начатое в 4602. Запрашиваем дополнительную информацию о файлах тоже по мере необходимости. Это относится к:
   - количество жёстких ссылок
   - количество потоков
   - размер потоков
   - владелец
   - content data
   Это значит, что включение всего этого хозяйства не должно замедлять открытие папки, кроме случаев, когда оно является критерием сортировки.

--------------------------------------------------------------------------------
drkns 2016-03-26 01:03:37+02:00 - build 4602

1. Highlighting is applied to files in panel when it is needed.
   The effect must be noticeable on big number of groups and/or files.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Раскрашиваем файлы в панели не все сразу, а по мере необходимости.
   Должно дать заметный эффект при большом количестве групп и/или файлов.

--------------------------------------------------------------------------------
drkns 2016-03-25 10:08:48+02:00 - build 4601

1. Correction of 4599.

--------------------------------------------------------------------------------
drkns 2016-03-25 01:21:22+02:00 - build 4600

1. Correction of 4574.

--------------------------------------------------------------------------------
drkns 2016-03-24 23:40:39+02:00 - build 4599

1. 0003201: Message returns value less by 1 than expected

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003201: Message возвращает результат на 1 меньше ожидаемого

--------------------------------------------------------------------------------
drkns 2016-03-24 23:04:54+02:00 - build 4598

1. Ask for name & password for cd \\server\share

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Спрашиваем имя & пароль при cd \\server\share

--------------------------------------------------------------------------------
w17 2016-03-24 20:32:59+03:00 - build 4597

1. Correction of 4596. Revert switching for inactive Info panel.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 4596. Вернём переключение когда Info панель неактивна.

--------------------------------------------------------------------------------
w17 2016-03-24 17:14:32+03:00 - build 4596

1. Correction of 4595. Switching only if info panel is active.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 4595. Переключение только при активной панели информации.

--------------------------------------------------------------------------------
w17 2016-03-24 16:14:28+03:00 - build 4595

1. Continuation of 4590, 4594 switching with Ctrl-Shift-S.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 4590, 4594 переключение по Ctrl-Shift-S.

--------------------------------------------------------------------------------
w17 2016-03-24 14:55:56+03:00 - build 4594

1. Continuation of 4590.
   Configuration if size display mode: Panel.Info.ShowBytes (default=false); switch with Ctrl-S.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 4590.
   Режим показа размера настраивается: Panel.Info.ShowBytes (default=false); переключение по Ctrl-S.

--------------------------------------------------------------------------------
drkns 2016-03-24 02:05:31+02:00 - build 4593

1. Crash on +/- key press in info panel if the viewer has been opened there.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Падение при нажатии +/- в панели информации, если там присутствовал вьювер.

--------------------------------------------------------------------------------
drkns 2016-03-23 20:31:08+02:00 - build 4592

1. Forum: Illogical behavior on network volume removal

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: Не логичное поведение при удалении сетевого диска

--------------------------------------------------------------------------------
w17 2016-03-23 17:59:00+03:00 - build 4591

1. M#3089: Minor fix of info panel (Ctrl+L)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#3089: Мелкая правка в панели информации (Ctrl+L)

--------------------------------------------------------------------------------
w17 2016-03-22 13:55:04+03:00 - build 4590

1. Continuation of 4587 -- EOPT_SHOWSCROLLBAR; VCTL_GETINFO: VOPT_SHOWxxx, VOPT_QUICKVIEW.

--------------------------------------------------------------------------------
drkns 2016-03-22 08:27:45+02:00 - build 4589

1. Correction of 4585.

--------------------------------------------------------------------------------
drkns 2016-03-21 17:11:49+02:00 - build 4588

1. Macro ARRAYSIZE -> constexpr std::size

--------------------------------------------------------------------------------
shmuel 2016-03-21 16:05:35+02:00 - build 4587

1. ECTL_GETINFO: EOPT_SHOWTITLEBAR and EOPT_SHOWKEYBAR flags are added into EDITOR_OPTIONS enumeration.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. ECTL_GETINFO: в перечисление EDITOR_OPTIONS добавлены флаги EOPT_SHOWTITLEBAR и EOPT_SHOWKEYBAR.

--------------------------------------------------------------------------------
drkns 2016-03-21 15:31:02+02:00 - build 4586

1. Continuation of 4584.

--------------------------------------------------------------------------------
drkns 2016-03-20 11:57:40+02:00 - build 4585

1. Continuation of 4584.

--------------------------------------------------------------------------------
drkns 2016-03-20 00:41:42+02:00 - build 4584

1. Remove hacks used widely for VS2010 support.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Убираем костыли, щедро расставленные повсеместно для поддержки VS2010 и компании.

--------------------------------------------------------------------------------
drkns 2016-03-19 23:19:41+02:00

1. Given that our German users aren't happy with "#0003145: New German translation", I'm reverting it to the previous version.
   Only previously untranslated strings are picked from #0003145 now.

--------------------------------------------------------------------------------
drkns 2016-03-18 18:03:45+02:00

1. Build requires VC++ 2015 / GCC 5.

--------------------------------------------------------------------------------
drkns 2016-03-18 12:00:11+02:00 - build 4583

1. Continuation of 4582 - sort without expansion of FileListItem structure which is already big.
   Also, it may be a little faster.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 4582 - сортируем без расширения структуры FileListItem, которая и без того жирная.
   Кроме того, возможно, будет немного быстрее.

--------------------------------------------------------------------------------
shmuel 2016-03-17 18:18:54+02:00 - build 4582

1. Custom panel sorting modes would corrupt inner FileListItem structures
   (this happened in Far builds with GCC 5.2 or 5.3).
   Custom sorting algorithm had to be changed, now there is no direct memory manipulation.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Кастомные сортировки в панелях повреждали содержимое внутренних структур FileListItem
   (это проявлялось при сборке Far с GCC 5.2 или 5.3).
   Алгоритм кастомной сортировки пришлось изменить, теперь нет прямой манипуляции с памятью.

--------------------------------------------------------------------------------
drkns 2016-03-14 23:51:08+02:00 - build 4581

1. Revert ACTL_REDRAWALL behavior before 4545.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Вернём поведение ACTL_REDRAWALL, существовавшее до 4545.

--------------------------------------------------------------------------------
shmuel 2016-03-14 11:39:07+02:00 - build 4580

1. On "Sort by" menu display (CtrlF12) the cursor is set to the current sorting mode.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При выводе на экран меню "Критерий сортировки" (CtrlF12) указатель ставится на текущую сортировку.

--------------------------------------------------------------------------------
svs 2016-03-14 10:33:31+03:00 - build 4579

1. SQLite 3.11.1

--------------------------------------------------------------------------------
shmuel 2016-03-13 21:45:25+02:00 - build 4578

1. Correction of 4577.

--------------------------------------------------------------------------------
shmuel 2016-03-13 01:35:20+02:00 - build 4577

1. In Panel.LoadCustomSortMode function, parameter table can contain an optional field
   'Condition' (a function). This function can be used for example in interactive mode
   to change sorting parameters or to cancel sorting.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В функции Panel.LoadCustomSortMode таблица параметров может включать в себя опциональное поле
   'Condition' (функцию). Данная функция может использоваться, например, в интерактивном режиме
   работы для изменения параметров сортировки, а также для её отмены.

--------------------------------------------------------------------------------
drkns 2016-03-12 16:37:16+02:00 - build 4576

1. 0003194: Strange behavior on insertion * and ? into command line, up to crash

2. 0003195: Incorrect substitution of file/folder names containing spaces with "Append first matched item" option on

3. 0003196: Autocompletion of executable file names from %PATH% proposed with no quotes even for files containing spaces in their names

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003194: Странное поведение при вставке в комстроку * и ? вплоть до падения

2. 0003195: Неверная подстановка имён файлов/каталогов с пробелами при включённой опции "Подставлять первый подходящий вариант"

3. 0003196: Автозавершение имён исполняемых файлов из %PATH% предлагается без кавычек даже для файлов с пробелами в имени

--------------------------------------------------------------------------------
shmuel 2016-03-11 18:57:02+02:00 - build 4575

1. FCTL_GETPANELINFO set SortMode value for custom sorting by 1 more than actual.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. FCTL_GETPANELINFO выставляло значение SortMode для кастомных сортировок на 1 больше действительного.

--------------------------------------------------------------------------------
drkns 2016-03-10 00:22:16+02:00 - build 4574

1. Menu.Show("\2qwe\n\4asd") showed items without first characters.

2. user menu got rid of fancy logic turning any incorrect hotkey into F1.

3. Correction of 829.2 - substitute FILE_FLAG_POSIX_SEMANTICS for TRUNCATE_EXISTING too.

4. Other minor refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При вызове Menu.Show("\2qwe\n\4asd") терялись первые буквы в пунктах.

2. Из user menu выкинута прэлэстная логика превращения любого кривого hotkey в F1.

3. Уточнение 829.2 - подставляем FILE_FLAG_POSIX_SEMANTICS и для TRUNCATE_EXISTING.

4. Прочий мелкий рефакторинг.

--------------------------------------------------------------------------------
drkns 2016-03-08 13:23:22+02:00 - build 4573

1. 0003189: Far 3.0 crash if command line format string contains "(%)"

2. 0003190: Autocompletion list is not shown if "Append first matched item" option is on

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003189: Падение Far 3.0 при выставлении в формате командной строки чего-нибудь, содержащего "(%)"

2. 0003190: Не появляется список автозавершения после включения опции "Подставлять первый подходящий вариант"

--------------------------------------------------------------------------------
drkns 2016-03-05 03:19:56+02:00 - build 4572

1. Correction of 4568.

2. Refactoring.

--------------------------------------------------------------------------------
drkns 2016-03-04 22:49:36+02:00 - build 4571

1. VC2015 build fix.

--------------------------------------------------------------------------------
drkns 2016-03-04 22:12:43+02:00 - build 4570

1. Handling of descriptions is redone a bit - now the files undergo less changes on update.

2. Other refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Немного переделана работа с описаниями - теперь в файлы должно вноситься меньше изменений при обновлении.

2. Прочий рефакторинг.

--------------------------------------------------------------------------------
drkns 2016-03-03 21:29:48+02:00 - build 4569

1. Correction of 4568.

--------------------------------------------------------------------------------
drkns 2016-03-03 02:14:30+02:00 - build 4568

1. Refactoring.

--------------------------------------------------------------------------------
zg 2016-03-01 00:16:46+02:00 - build 4567

1. under some conditions it is impossible to abort directory size scanning in qview.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. невозможно при определённых условиях прервать сканирование размера каталога в qview.

--------------------------------------------------------------------------------
drkns 2016-02-29 22:23:24+02:00 - build 4566

1. Correction of 4565.

--------------------------------------------------------------------------------
drkns 2016-02-28 20:01:24+02:00 - build 4565

1. When detaching the console (Ctrl+Shift+Tab) copy the aliases from the old one to the new one.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При детаче консоли (Ctrl+Shift+Tab) скопируем алиасы из старой в новую.

--------------------------------------------------------------------------------
drkns 2016-02-27 18:05:26+02:00 - build 4564

1. Refactoring.

2. Some renamings.

--------------------------------------------------------------------------------
w17 2016-02-26 19:47:29+03:00 - build 4563

1. Experimental: M#2983: Far3, calculation of the size of a folder on remote computer, the bug with links
   ALL traversed real directories are written to std::set VisitedDirs.
   This is done intentionally. At first, is does not need taking lots of subtleties into account, at second,
   if ScanTree allows skipping folders then in my opinion there's no other way.
   However feel free to optimize it of course.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Experimental: M#2983: Far3, подсчёт размера папки на удалённом компе, глюк с links
   ВСЕ пройденные реальные каталоги пишутся в std::set VisitedDirs.
   Это сделано сознательно. Во-первых так не надо учитывать мнооого тонкостей, во-вторых
   если в ScanTree каталоги можно пропускать то на мой взгляд иначе просто не получится.
   Но желающие естественно всё это могут оптимизировать.

--------------------------------------------------------------------------------
drkns 2016-02-25 18:04:48+02:00 - build 4562

1. 0003187: Symlink to a network folder does not work after editing the target folder in attributes dialog

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003187: Symlink на сетевой каталог не работает после редактирования целевого каталога в диалоге атрибутов

--------------------------------------------------------------------------------
svs 2016-02-24 09:40:36+03:00 - build 4561

1. SQLite 3.11.0

--------------------------------------------------------------------------------
drkns 2016-02-23 19:46:47+02:00 - build 4560

1. 0003185: Panel in unsorted mode is showing the first file/folder as the last

--------------------------------------------------------------------------------
drkns 2016-02-20 22:01:11+02:00 - build 4559

1. gcc build fix.

--------------------------------------------------------------------------------
drkns 2016-02-20 21:53:30+02:00 - build 4558

1. Continuation of 4548: uniform processing of all exceptions.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 4548: обрабатываем все исключения единообразно.

--------------------------------------------------------------------------------
drkns 2016-02-20 15:56:08+02:00 - build 4557

1. Continuation of 4548: display more correct stack on x86, show source file/line in stack and in main dialog.

2. Consider also forward slash in UnquoteExternal().

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 4548: показываем более правильный стек на x86, показываем source file/line в стеке и в основном диалоге.

2. В UnquoteExternal() учтём прямой слеш тоже.

--------------------------------------------------------------------------------
w17 2016-02-20 15:03:22+03:00 - build 4556

1. Correction of 4523. Consider "D:\Path Name"\ in UnquoteExternal()

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 4523. Учтём "D:\Path Name"\ в UnquoteExternal()

--------------------------------------------------------------------------------
drkns 2016-02-20 04:16:03+02:00 - build 4555

1. Continuation of 4548: load pdb only if it's needed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 4548: загружаем pdb только тогда, когда нужно.

--------------------------------------------------------------------------------
drkns 2016-02-19 21:58:30+02:00 - build 4554

1. Correction of 4552.

2. VC2015 warning.

--------------------------------------------------------------------------------
w17 2016-02-19 22:31:34+03:00 - build 4553

1. Correction of 4552, fix VS2010 build.

--------------------------------------------------------------------------------
drkns 2016-02-19 00:08:34+02:00 - build 4552

1. One more time on Alt+F8 in viewer:
   - %, h, 0x etc. in line no longer change the stored mode;
   - d specifier mentioned in help did not work.
     The funny thing is it couldn't work because, for example, 1234d is a valid hex number.
     Therefore the 'm' modifier is now used for explcit specification "this is a decimal".
   - all modifiers (except for %) now also work for specification of the left position.
   - Ok/Cancel buttons are added to the dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Еще раз на тему Alt+F8 во вьювере:
   - наличие %, h, 0x etc. в строке больше не меняет запомненный режим;
   - модификатор d, указанный в справке, не работал в принципе.
     Что прелестно - он и не мог работать, т. к., например, 1234d - валидное hex-число.
     Поэтому для явного указания "это decimal" теперь используется модификатор 'm'.
   - все модификаторы (кроме %) теперь работают и для задания левой позиции.
   - в диалог добавлены кнопки Ok/Cancel.

--------------------------------------------------------------------------------
drkns 2016-02-17 19:43:48+02:00 - build 4551

1. After 4525, command text was displayed with wrong color in user screen.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. После 4525 текст команды в user screen отображался не тем цветом.

--------------------------------------------------------------------------------
drkns 2016-02-14 20:45:46+02:00 - build 4550

1. Instead of "Language data is incorrect or damaged" show "filename.lng: language data is incorrect or damaged" to avoid guessing the file.

2. Text of all exceptions inherited from std::exception is considered to be UTF-8.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Вместо "Language data is incorrect or damaged" показываем "filename.lng: language data is incorrect or damaged" дабы не гадать, что там за файл.

2. Текст во всех исключениях, унаследованных от std::exception, трактуется как UTF-8.

--------------------------------------------------------------------------------
drkns 2016-02-14 13:00:58+02:00 - build 4549

1. Restore XML import error message.

2. Latest TinyXML-2.

3. SQLite 3.10.2.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Восстановим сообщение об ошибке импорта XML.

2. Latest TinyXML-2.

3. SQLite 3.10.2.

--------------------------------------------------------------------------------
drkns 2016-02-13 16:59:45+02:00 - build 4548

1. Messages on exceptions are added a "Stack" button.
   Far.pdb is needed to get it work correctly.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В сообщения об исключительных ситуациях добавлена кнопка "Stack".
   Для того, чтобы она работала адекватно, нужен Far.pdb.

2. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2016-02-12 23:30:30+02:00 - build 4547

1. Refine Ctrl+F10 blocking logic in editor/viewer: now it is blocked only for modal windows.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнена логика блокирования Ctrl+F10 в редакторе/просмотре: теперь блокируется только для модальных окон.

--------------------------------------------------------------------------------
drkns 2016-02-10 23:21:06+02:00 - build 4546

1. Refactoring. Shorten code in the manager a bit.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг. Немного сократим код в менеджере.

--------------------------------------------------------------------------------
drkns 2016-02-09 22:33:44+02:00 - build 4545

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2016-02-08 01:30:51+02:00 - build 4544

1. After 4320, selection sometimes worked incorrectly after Ctrl-A.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. После 4320 иногда неадекватно работало выделение после Ctrl-A.

--------------------------------------------------------------------------------
drkns 2016-02-07 18:30:10+02:00 - build 4543

1. Switching to a column with Alt-F8 in viewer did not work if the first parameter was specified in percents (example from help).

2. Come refactoring. %another mantra about bad influence of one letter variables to you karma%.

3. Warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Переход к колонке по Alt-F8 во вьювере не работал, если первый параметр был указан в процентах (пример из справки).

2. Мелкий рефакторинг. %очередная мантра о том, что однобуквенные переменные плохо влияют на вашу карму%.

3. Warnings.

--------------------------------------------------------------------------------
drkns 2016-02-06 04:01:40+02:00 - build 4542

1. 0003169: panels disappear after start of external editor

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003169: исчезают панели при запуске внешнего редактора

--------------------------------------------------------------------------------
drkns 2016-02-05 21:26:41+02:00 - build 4541

1. Correction of 4525.

--------------------------------------------------------------------------------
drkns 2016-02-05 09:41:13+02:00 - build 4540

1. Forum: Cursor disappears in launched external console applications.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: Пропадает курсор в запущенных внешних консольных приложениях.

--------------------------------------------------------------------------------
drkns 2016-02-03 19:25:05+02:00 - build 4539

1. Move the hack for M#2922 to a more suitable place and simplify it.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Передвинем хак для M#2922 в более подходящее место и упростим его.

--------------------------------------------------------------------------------
w17 2016-02-03 17:48:03+03:00 - build 4538

1. Correction of 4537.

--------------------------------------------------------------------------------
w17 2016-02-03 16:10:50+03:00 - build 4537

1. M#2922: symbolic link to an executable file creates a separate console after launch

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2922: символьная ссылка на исполняемый файл создает отдельную консоль при запуске

--------------------------------------------------------------------------------
drkns 2016-02-03 09:11:50+02:00 - build 4536

1. Restore behavior of selection in dialogs as it was up to 4484.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Восстановим поведение выделения в диалогах как до 4484.

--------------------------------------------------------------------------------
drkns 2016-02-02 22:19:45+02:00 - build 4535

1. Forum: start of far /v or far /e with active auto-saving garbled panel settings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: запуск far /v или far /e при включенном автосохранении сбивал настройки панелей.

--------------------------------------------------------------------------------
drkns 2016-02-02 21:34:08+02:00 - build 4534

1. Correction of 4525 for non-trivial launch conditions.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 4525 для нетривиальных условий запуска.

--------------------------------------------------------------------------------
drkns 2016-02-02 21:17:56+02:00 - build 4533

1. Adaptation of grabber to 4526.

--------------------------------------------------------------------------------
drkns 2016-02-02 19:55:16+02:00 - build 4532

1. Forum: Editor.SetStr was broken in one of builds 4482-4484

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: в одном из билдов 4482-4484 сломался Editor.SetStr

--------------------------------------------------------------------------------
drkns 2016-02-02 09:55:00+02:00 - build 4531

1. Command line was not updated after deleting an item from completion list.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При удалении элемента из списка дополнения не обновлялось содержимое комстроки.

--------------------------------------------------------------------------------
drkns 2016-02-01 23:00:10+02:00 - build 4530

1. Optimization of 4525 for System.WindowMode = true

2. System.WindowMode is now true by default for:
   - this is good;
   - testing is needed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Оптимизация 4525 для System.WindowMode = true

2. System.WindowMode теперь true по умолчанию, ибо:
   - это хорошо;
   - нужно тестирование.

--------------------------------------------------------------------------------
w17 2016-02-01 16:53:33+03:00 - build 4529

1. M#3161: Extend GoTo (AltF8)

--------------------------------------------------------------------------------
drkns 2016-02-01 10:34:36+02:00 - build 4528

1. Continuation of 4525.

--------------------------------------------------------------------------------
drkns 2016-02-01 03:16:02+02:00 - build 4527

1. Continuation of 4525.

--------------------------------------------------------------------------------
drkns 2016-02-01 01:11:06+02:00 - build 4526

1. Report goes that after 4516 middle mouse button worked odd in panels.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Говорят, после 4516 странно работала средняя кнопка мыши в панелях.

--------------------------------------------------------------------------------
drkns 2016-01-31 22:59:13+02:00 - build 4525

1. 0002900: Menu from a list file: trouble with calls from User menu
   Half of launcher is rewritten, a lot of bugs is fixed, possibly new ones are made.

2. System.Executor.SilentExternal is gone.

3. Enter with panels hidden now scrolls output as in cmd.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002900: Меню из файла-списка: проблема при вызове из User menu
   Переписана половина запускателя, исправлено множество багов, возможно, наделано новых.

2. System.Executor.SilentExternal больше нет.

3. Нажатие Enter при отключенных панелях теперь прокручивает вывод, как в cmd.

--------------------------------------------------------------------------------
w17 2016-01-29 21:57:57+03:00 - build 4524

1. Fix 4484. aka M#3162: Text disappear in viewer

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Fix 4484. aka M#3162: Исчезновение текста во вьювере

--------------------------------------------------------------------------------
w17 2016-01-29 16:55:57+03:00 - build 4523

1. Continuation of 4521.
   Now "D:\Path Name"\ is the global feature - that's the way QuoteSpace() works.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 4521.
   Теперь "D:\Path Name"\ глобальная фича - так работает QuoteSpace().

--------------------------------------------------------------------------------
w17 2016-01-27 23:06:51+03:00 - build 4522

1. Experimental: language files customization without editing generated 'native' .lng files

   Instructions:
   1) create full versions of language files with lng.generator.exe, new builds contain them.
   2) create own file containing changes for needed languages

   The name of the file is <Original>.custom, for ex. FarRus.lng.custom, FarEng.lng.custom
   The file is searched in %FARHOME% and %FARPROFILE% (both 2 files can be created)

   The file must contain lines like these:
   MessageId = "Modified Text"
   for example:
   MListFileSize = " %1 bytes in %2 files, %3 folders "
   The needed MessageId can be found in the original file, it has the following form:
   //[MessageId]
   "Original text"
   //[MListFileSize]
   " Bytes: %1, files: %2, folders: %3 "
   The same format is also allowed in .lng.custom files.
   //[MListFileSize]
   " %1 bytes in %2 files, %3 folders "

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Экспериментально: кастомизация языковых файлов без редактирования генерируемых 'родных' файлов .lng

   Чтобы работало надо:
   1) создать полные версии языковых файлов обновлённым генератором lng.generator.exe, в новой сборке должны быть.
   2) создать свой файл с изменениями для нужных языков

   Имя файла = <Оригинал>.custom, например FarRus.lng.custom, FarEng.lng.custom
   Файл ищется в %FARHOME% и %FARPROFILE% (можно создать 2 файла)

   Файл должен содержать строки вида:
   MessageId = "Modified Text"
   например:
   MListFileSize = " %1 bytes in %2 files, %3 folders "
   Нужный MessageId можно найти в оригинальном файле, там это выглядит так:
   //[MessageId]
   "Original text"
   //[MListFileSize]
   " Bytes: %1, files: %2, folders: %3 "
   Такой формат также допустим в .lng.custom файлах.
   //[MListFileSize]
   " %1 bytes in %2 files, %3 folders "

--------------------------------------------------------------------------------
w17 2016-01-26 14:09:42+03:00 - build 4521

1. M#3011: Ctrl+Enter works wrong for ".." for case if path have spaces
   "D:\Path Name\" --> "D:\Path Name"\

--------------------------------------------------------------------------------
drkns 2016-01-26 09:43:57+02:00 - build 4520

1. Correction of 4516.

2. Forum: excessive redraw of associations menu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 4516.

2. С форума: лишняя перерисовка меню ассоциаций.

--------------------------------------------------------------------------------
drkns 2016-01-26 02:19:36+02:00 - build 4519

1. Correction of 4516.

--------------------------------------------------------------------------------
drkns 2016-01-26 00:15:06+02:00 - build 4518

1. Forum: Repeated file view with F3 renders differently

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: При повторном просмотре файла по F3 меняется его отображение

--------------------------------------------------------------------------------
drkns 2016-01-24 20:10:32+02:00 - build 4517

1. A couple of corrections to 4516.

--------------------------------------------------------------------------------
drkns 2016-01-24 14:35:53+02:00 - build 4516

1. Attempt to open two info or qview panels via main menu crashes Far.
   The cause is common - the instance of panel is destroyed in its own call context.
   Further placing of 'delaydestroy' has no sense, so panel ownership logic is redone.
   Now there is no lots of unclear raw pointers referring to anything.
   Each panel is a smart pointer and lives as much as it is needed.
   Weird bugs are possible as usual.

2. Continue moving code away from panel.cpp to more suitable places to get the tail less wag the dog.
   Even more weird bugs are expected.

3. Other refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При попытке открыть две info- или qview панели через главное меню Far падал.
   Причина классическая - экземпляр панели уничтожался в контексте собственных вызовов.
   Расставлять дальше delaydestroy бессмысленно, поэтому логика владения панелями переделана.
   Теперь нет кучи мутных голых указателей, ссылающихся на что попало в зависимости от погоды.
   Каждая панель - это умный указатель и живёт столько, сколько нужно.
   Возможны причудливые баги, как обычно.

2. Продолжим выносить код из panel.cpp в более подходящие места, дабы хвост поменьше крутил собакой.
   Возможны не менее причудливые баги.

3. Прочий рефакторинг.

--------------------------------------------------------------------------------
drkns 2016-01-22 09:52:55+02:00 - build 4515

1. Forum: mf.clip(5) and mf.clip(5,0) no longer switch the clipboard

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: mf.clip(5) и mf.clip(5,0) перестали переключать буфер обмена

--------------------------------------------------------------------------------
svs 2016-01-18 17:22:16+03:00 - build 4514

1. SQLite 3.10.1

--------------------------------------------------------------------------------
drkns 2016-01-17 23:48:17+02:00 - build 4513

1. Refactoring. Code for drive change menu moved from panel.cpp to a separate file.

2. Command execution with Ctrl-G could cause unnecessary autocompletion in command line.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг. Код меню смены диска вынесен из panel.cpp в отдельный файл.

2. При запуске команд по Ctrl-G могло срабатывать ненужное автодополнение в комстроке.

--------------------------------------------------------------------------------
drkns 2016-01-16 11:46:23+02:00 - build 4512

1. 0002953: When the tree3.far cache file exists, calling the tree dialog (Alt-F10) crashes Far manager
   Panel class is a big pile of mess, it contains everything and the kitchen sink.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002953: When the tree3.far cache file exists, calling the tree dialog (Alt-F10) crashes Far manager
   class Panel - это просто праздник какой-то, там есть всё. Даже то, чего там быть не должно по определению.

--------------------------------------------------------------------------------
drkns 2016-01-15 23:27:57+02:00 - build 4511

1. 0003153: Start next grabber session in the same mode as previous one (block/stream)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003153: Стартовать следующий сеанс грабера в режиме предыдущего (прямоугольный/поточный)

--------------------------------------------------------------------------------
drkns 2016-01-15 10:04:34+02:00 - build 4510

1. Non-system copy function worked incorrectly on sparse files with block size more than 4 GB.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Несистемная функция копирования некорректно обрабатывала разреженные файлы с размером блока более 4 GB.

--------------------------------------------------------------------------------
drkns 2016-01-14 22:05:38+02:00 - build 4509

1. 0003151: Go to new line when shifting grabber block in stream mode

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003151: Переход на новую строку при сдвиге блока граббера в поточном режиме

--------------------------------------------------------------------------------
svs 2016-01-12 22:10:42+03:00 - build 4508

1. SQLite 3.10.0

--------------------------------------------------------------------------------
drkns 2016-01-11 19:50:50+02:00 - build 4507

1. Continuation of 4506.1.

--------------------------------------------------------------------------------
drkns 2016-01-10 17:18:42+02:00 - build 4506

1. Grabber is added a stream selection mode. The modes are switched with spacebar.
   Copying to clipboard tries to concatenate lines broken by wrapping, correctness of the result is not guaranteed.

2. Grabber mode can be cancelled with F10.

3. Some translation for English help.

4. A couple of minor issues.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В граббер добавлен режим потокового выделения. Переключается пробелом.
   При копировании в буфер производится попытка склеить разбитые свёрткой строки, корректность результата не гарантируется.

2. Из граббера можно выйти по F10.

3. Немного перевода английской справки.

4. Пара мелочей.

--------------------------------------------------------------------------------
drkns 2016-01-08 16:54:54+02:00 - build 4505

1. 003148: Copying a few lines in FAR editor followed by pasting garbles the content

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 003148: При копировании нескольких строк в редакторе FAR и последующей вставке ломается содержимое

--------------------------------------------------------------------------------
drkns 2016-01-08 14:47:08+02:00 - build 4504

1. A little black magic for VS2015 build to work in Win2k.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Немного чёрной магии, чтобы VS2015 билд мог запускаться в Win2k.

--------------------------------------------------------------------------------
drkns 2016-01-04 14:00:46+02:00 - build 4503

1. Continuation of 4502.1.

2. Correction of 4431.

--------------------------------------------------------------------------------
drkns 2016-01-03 21:18:13+02:00 - build 4502

1. Continue refactoring of clipboard.

2. Fix clip(3) and clip(4) malfunction.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжим рефакторинг буфера обмена.

2. clip(3) и clip(4) похоже, не работали чуть менее, чем совсем.

--------------------------------------------------------------------------------
drkns 2016-01-01 16:05:03+02:00 - build 4501

1. Apply 4496 to vertical blocks.

2. Always write the size of data.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Распространим 4496 и на вертикальные блоки тоже.

2. Размер данных пишем всегда.

--------------------------------------------------------------------------------
drkns 2016-01-01 15:07:30+02:00 - build 4500

1. Remove vertical block duplication in clipboard.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Убрано дублирование вертикального блока в буфере обмена.

2. Рефакторинг.

--------------------------------------------------------------------------------
zg 2015-12-31 20:03:12+02:00 - build 4499

1. crash in GetPluginDirList. already freed memory was returned.

2. gcc warning.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. падение в GetPluginDirList. возвращалась освобождённая память.

2. gcc warning.

--------------------------------------------------------------------------------
drkns 2015-12-30 17:05:27+02:00 - build 4498

1. Continuation of 3596. More paranoid handling of adapters.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 3596. Более параноидальная работа с адаптерами.

--------------------------------------------------------------------------------
drkns 2015-12-30 10:59:13+02:00 - build 4497

1. TinyXML-2 v3.0.0.

2. A couple of issues.

--------------------------------------------------------------------------------
w17 2015-12-29 13:10:24+03:00 - build 4496

1. Copy/paste text containing '\0' in editor. When copied text contains zero characters,
   an additional 4 byte block containing the length of the text is created.
   The block type is 'Notepad++ binary text length', it must be compatible with notepad++ Paste Special.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Копирование/вставка текста содержащего символ(ы) '\0' в редакторе.
   При копировании текста в буфер обмена, если в нём содержатся нулевые символы,
   создаётся дополнительный 4-х байтовый блок, куда записывается длина текста.
   Тип блока 'Notepad++ binary text length', должен быть совместим с Paste Special notepad++.

--------------------------------------------------------------------------------
drkns 2015-12-28 17:59:08+02:00 - build 4495

1. %farlocalproflie%\PluginsData was not created automatically, which could lead to consequences.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Каталог %farlocalproflie%\PluginsData не создавался автоматически, что могло приводить к последствиям.

--------------------------------------------------------------------------------
drkns 2015-12-28 16:32:20+02:00 - build 4494

1. Correction of 4493.

--------------------------------------------------------------------------------
drkns 2015-12-28 15:28:08+02:00 - build 4493

1. Refactoring.

--------------------------------------------------------------------------------
w17 2015-12-27 11:08:48+03:00 - build 4492

1. M#3142: Text insertion from Borland IDE is broken

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#3142: Сломана вставка текста из борландовской IDE

--------------------------------------------------------------------------------
drkns 2015-12-25 21:54:47+02:00

1. 0003145: New German translation

--------------------------------------------------------------------------------
drkns 2015-12-22 09:38:41+02:00 - build 4491

1. Forum: Open the attached file in editor and press End to crash FAR.

2. #0003143: Arrow movements add space characters in editor

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: Если открыть в редакторе приложенный файл и нажать End, FAR падает.

2. #0003143: При движении стрелками в редакторе добавляются пробелы

--------------------------------------------------------------------------------
drkns 2015-12-21 20:25:07+02:00 - build 4490

1. Refactoring, continuation of 4484.

--------------------------------------------------------------------------------
drkns 2015-12-21 08:13:52+02:00 - build 4489

1. And more.

--------------------------------------------------------------------------------
drkns 2015-12-20 19:10:39+02:00 - build 4488

1. And more.

--------------------------------------------------------------------------------
drkns 2015-12-20 16:47:03+02:00 - build 4487

1. Another correction of 4484.1.

--------------------------------------------------------------------------------
drkns 2015-12-20 16:20:08+02:00 - build 4486

1. Refactoring, continuation of 4484.

--------------------------------------------------------------------------------
drkns 2015-12-20 03:05:03+02:00 - build 4485

1. Correction of 4484.1.

--------------------------------------------------------------------------------
drkns 2015-12-19 21:59:59+02:00 - build 4484

1. Refactoring. Massive reworking in input lines and therefore the editor. Consequences are expected.

2. Continuation of 4473 according to users' wishes: buttons insert new text into cursor position instead of replacing everything.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг. Перетряхнуто много в строках ввода и, как следствие, редакторе. Возможны последствия.

2. Продолжение 4473, учтём пожелания телезрителей: кнопки вставляют новый текст в позицию курсора, а не заменяют всё.

--------------------------------------------------------------------------------
zg 2015-12-19 14:36:32+02:00 - build 4483

1. remove duplicate conversion of INPUT_RECORD to FarKey and vice versa.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. убрана двойная конвертация INPUT_RECORD в FarKey и обратно.

--------------------------------------------------------------------------------
drkns 2015-12-19 14:07:47+02:00 - build 4482

1. 0003137: A typo in Far.exe -? output
   Actually the output is correct, the error is in another place.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003137: Опечатка в выводе Far.exe -?
   На самом деле вывод правильный, ошибка в другом месте.

--------------------------------------------------------------------------------
drkns 2015-12-18 19:39:04+02:00 - build 4481

1. Another correction of 4473.

--------------------------------------------------------------------------------
w17 2015-12-18 13:24:46+03:00 - build 4480

1. Experimental: M#1910: "Add to archive" hotkey does not wok in Temporary Panel.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Experimental: M#1910: "Add to archive" hotkey does not work in Temporary Panel.

--------------------------------------------------------------------------------
drkns 2015-12-17 21:32:47+02:00 - build 4479

1. Correction of 4473: Selection takes the whole string in absence of a block.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 4473: Selection при отсутствии блока берёт всю строку.

--------------------------------------------------------------------------------
drkns 2015-12-17 20:56:42+02:00 - build 4478

1. User menu composed entirely of separators caused AV.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. User menu, состоящее из одних разделителей (коварство пользователей не знает границ), приводило к AV.

--------------------------------------------------------------------------------
zg 2015-12-16 22:53:06+02:00 - build 4477

1. assert on alt-65536 input in editor.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. assert при вводе alt-65536 в редакторе.

--------------------------------------------------------------------------------
drkns 2015-12-16 20:53:34+02:00 - build 4476

1. Another correction of 4473.

--------------------------------------------------------------------------------
drkns 2015-12-16 19:48:28+02:00 - build 4475

1. Continuation of 4473 according to users' wishes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 4473, учтём пожелания телезрителей.

--------------------------------------------------------------------------------
drkns 2015-12-16 11:48:50+02:00 - build 4474

1. Correction of 4473.

--------------------------------------------------------------------------------
drkns 2015-12-16 00:42:39+02:00 - build 4473

1. 'Editor settings - [x] Pick up the word' option deleted.
   Instead there are [ Word ] and [ Selection ] buttons right in search dialog which insert the written into the line.
   Selection takes only the first line of the block. It takes a word if there is no block.

2. DlgBuilder calculated vertical coordinates incorrectly for two columns of different size.

3. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Опция Editor settings - [x] Pick up the word удалена.
   Вместо неё теперь кнопки [ Word ] и [ Selection ] прямо в диалоге поиска, вставляющие в строку то, что на них написано.
   Selection берёт только первую строку блока. При отсутствии блока берёт слово.

2. DlgBuilder неправильно рассчитывал вертикальные координаты при наличии двух колонок разной высоты.

3. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2015-12-12 18:50:14+02:00

1. Whole source code is now utf-8.

2. Add include guards to *.hpp as gcc cannot into #pragma once for files with BOM. /o

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Весь исходный код теперь в utf-8.

2. Добавим include guards в *.hpp, т.к. gcc не может в #pragma once в файлах с BOM. /o

--------------------------------------------------------------------------------
drkns 2015-12-12 15:41:11+02:00 - build 4472

1. Forum: If volume types are hidden (Ctrl-1) then del does not remove subst volume.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: Если убрать типы дисков (Ctrl-1), то не будет убирать subst диск кнопкой del.

--------------------------------------------------------------------------------
drkns 2015-12-11 22:58:53+02:00 - build 4471

1. 0003131: Disappearing checkboxes for codepages checked in "Using codepage" menu

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003131: Пропадают галочки напротив отмеченных в меню "Используя кодовую страницу" кодировок

--------------------------------------------------------------------------------
drkns 2015-12-11 22:02:06+02:00 - build 4470

1. Forum: if a single group is given as a search string then substrings in replace string are treated as metacharacters up to $1

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: если в строке поиска была задана только одна группа, то в строке замены следует считать метасимоволами подстроки до $1

--------------------------------------------------------------------------------
drkns 2015-12-11 21:24:01+02:00 - build 4469

1. Crash on regex replace.

--------------------------------------------------------------------------------
drkns 2015-12-09 20:28:43+02:00 - build 4468

1. debug & gcc.

2. syslog & gcc.

--------------------------------------------------------------------------------
drkns 2015-12-08 00:25:17+02:00 - build 4467

1. Refactoring.

2. Some more on 4461.

--------------------------------------------------------------------------------
shmuel 2015-12-07 21:04:04+02:00 - build 4466

1. M#3129: Several lines get merged to one

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#3129: Несколько строк склеивается в одну

--------------------------------------------------------------------------------
drkns 2015-12-07 21:03:09+02:00 - build 4465

1. Correction of 4461.

--------------------------------------------------------------------------------
drkns 2015-12-04 00:24:07+02:00 - build 4464

1. Refactoring.

2. Warnings.

3. GCC build fix.

--------------------------------------------------------------------------------
drkns 2015-12-01 20:24:11+02:00 - build 4463

1. Return the workaround for a bug in kernel32::GetFinalPathNameByHandleW lost in 2155.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Вернём workaround для бага в kernel32::GetFinalPathNameByHandleW, потерянный в 2155.

--------------------------------------------------------------------------------
drkns 2015-11-30 22:18:30+02:00 - build 4462

1. Refactoring.

2. Ukrainian translation from Vlad Lozynskyi.

--------------------------------------------------------------------------------
drkns 2015-11-27 13:40:00+02:00 - build 4461

1. 0003124: Persistent network connections are not restored when started from another account.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003124: Не восстанавливает постоянные сетевые соединения при запуске от имени другого пользователя.

--------------------------------------------------------------------------------
drkns 2015-11-26 08:49:29+02:00 - build 4460

1. Correction of 4459.

--------------------------------------------------------------------------------
drkns 2015-11-23 21:40:04+02:00 - build 4459

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2015-11-21 02:26:19+02:00 - build 4458

1. In some cases, selection of words in editor with mouse clicks could create several selection blocks.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В некотрых случаях при выделении слов в редакторе кликами мыши могло получаться несколько выделенных блоков.

--------------------------------------------------------------------------------
shmuel 2015-11-17 14:41:37+02:00 - build 4457

1. Function FSF.FarInputRecordToName given some values of its 1st argument would not
   return until console input entered.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Функция FSF.FarInputRecordToName при некоторых значениях своего первого аргумента могла
   не возвращаться, покуда не поступит ввод от консоли.

--------------------------------------------------------------------------------
drkns 2015-11-15 11:59:17+02:00 - build 4456

1. Continuation of 4455.

--------------------------------------------------------------------------------
drkns 2015-11-15 01:37:43+02:00 - build 4455

1. It happens that Far already can be built with clang. Some related changes in preprocessor macros.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Оказывается, Far уже можно полноценно собрать в clang. Немного связанной с этим реорганизации в препроцессорных макросах.

--------------------------------------------------------------------------------
svs 2015-11-07 00:28:32+03:00 - build 4454

1. SQLite 3.9.2

--------------------------------------------------------------------------------
drkns 2015-11-01 19:04:35+02:00 - build 4453

1. Refactoring, VS15 warnings and other issues.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг, предупреждения VS15 и прочие мелочи.

--------------------------------------------------------------------------------
drkns 2015-11-01 18:59:48+02:00 - build 4452

1. For the future: split FindFiles into two separate classes: UI and search.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Задел на будущее: разломаем FindFiles на два отдельных класса: интерфейс и непосредственно поиск.

--------------------------------------------------------------------------------
drkns 2015-10-31 13:07:10+02:00 - build 4451

1. 0003077: Exception in search in alternate streams

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003077: Exception при поиске в альтернативных потоках

--------------------------------------------------------------------------------
shmuel 2015-10-28 19:12:06+02:00 - build 4450

1. Minor refactoring in macro system.

--------------------------------------------------------------------------------
w17 2015-10-27 19:36:48+03:00 - build 4449

1. Continuation of 4448. Do not crash in STACK_OVERFLOW handler, minidump shows the correct place of stack overflow.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 4448. Не падаем в обработчике STACK_OVERFLOW, minidump покажет корректное место переполнения стека.

--------------------------------------------------------------------------------
w17 2015-10-27 17:39:42+03:00 - build 4448

1. Experimental: Minidump save button (%FARPROFILE%\Far.mdmp) in processing of SEHException.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Experimental: Кнопка записи минидампа (%FARPROFILE%\Far.mdmp) при обработке SEHException.

--------------------------------------------------------------------------------
drkns 2015-10-27 01:26:44+02:00 - build 4447

1. 0003026: FindFiles access violation exception

--------------------------------------------------------------------------------
drkns 2015-10-26 09:25:44+02:00 - build 4446

1. Status line format string moved to lng.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Формат статусной строки вынесен в lng.

--------------------------------------------------------------------------------
drkns 2015-10-24 11:59:47+02:00 - build 4445

1. 0003053: Highlighting of files with >1 hard links slows down the panels on network volumes
   Add checking of FS name for OS which do not support FILE_SUPPORTS_HARD_LINKS.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003053: Раскраска файлов с >1 хардлинком замедляет панели на сетевых дисках
   Добавлена проверка имени FS для тех ОС, которые не умеют FILE_SUPPORTS_HARD_LINKS.

--------------------------------------------------------------------------------
drkns 2015-10-24 02:29:09+02:00 - build 4444

1. 0002520: Incorrect text of system error

2. 0003089: Minor edits in info panel (Ctrl+L) (partially).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002520: Неправильный текст системной ошибки

2. 0003089: Мелкая правка в панели информации (Ctrl+L) (частично).

--------------------------------------------------------------------------------
drkns 2015-10-24 01:21:54+02:00 - build 4443

1. Some renamings to fix VS2015 warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Немного переименований для исправления предупреждений VS2015.

--------------------------------------------------------------------------------
drkns 2015-10-24 00:04:08+02:00 - build 4442

1. Forum: show the number of folders in current panel.

2. Warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: показываем число папок в текущей панели.

2. Warnings.

--------------------------------------------------------------------------------
w17 2015-10-20 16:21:53+03:00 - build 4441

1. M#3100: Crash on search in invalid ZIP archive
   Treatment for symptoms.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#3100: Crash on search in invalid ZIP archive
   Симптоматическое лечение.

--------------------------------------------------------------------------------
svs 2015-10-19 10:31:45+03:00 - build 4440

1. SQLite 3.9.1

--------------------------------------------------------------------------------
drkns 2015-10-18 13:18:18+02:00 - build 4439

1. Carriage return was incorrectly processed in editor for codepages where it differed from 0x0d / 0x0a (EBCDIC etc.)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В редакторе некорректно обрабатывались переводы строк для кодовых страниц, где они отличны от 0x0d / 0x0a (EBCDIC etc.)

--------------------------------------------------------------------------------
drkns 2015-10-17 14:35:10+02:00 - build 4438

1. Refactoring.

--------------------------------------------------------------------------------
svs 2015-10-16 12:33:02+03:00 - build 4437

1. Mantis#0003062: FSF.CopyToClipboard+FCT_COLUMN desynchronizes clipboard
   For FCT_STREAM SetClipboard is used which clears the clipboard by itself.
   For FCT_COLUMN SetClipboardFormat(FCF_VERTICALBLOCK_UNICODE) is used which does not clear the clipboard and adds the data instead, so OEM is left intact.

   <ACHTUNG!>
   	SetClipboardFormat just adds the vertical block data to an existing content.
   </ACHTUNG!>

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0003062: FSF.CopyToClipboard+FCT_COLUMN рассинхронизирует буфер обмена
   Для FCT_STREAM юзается SetClipboard, которая самостоятельно очищает буфер.
   Для FCT_COLUMN юзается SetClipboardFormat(FCF_VERTICALBLOCK_UNICODE), которая не очищает буфер, а добавляет туда данные. Соответственно OEM остается нетронутым.

   <АХТУНГ!>
   	SetClipboardFormat просто добавляет к существующему содержимому данные по вертикальному блоку.
   </АХТУНГ!>

--------------------------------------------------------------------------------
svs 2015-10-15 16:40:58+03:00 - build 4436

1. Mantis#0003061: FSF.CopyToClipboard + FCT_COLUMN: vertical blocks compatible with third-party applications
   Support for vertical blocks "Borland IDE Block Type" and "MSDEVColumnSelect" along with "FAR_VerticalBlock_Unicode".

   FAR adds new types to clipboard only for copying a vertical block.
   In clipboard:
     "FAR_VerticalBlock_Unicode" "native" FAR block
     "Borland IDE Block Type" block contains 1 byte 0x02
     "MSDEVColumnSelect"      block contains 0 bytes.
     The data itself is contained in "CF_UNICODETEXT".

   FAR accepts these types when pasting into the editor so it inserts vertical block.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0003061: FSF.CopyToClipboard + FCT_COLUMN: вертикальные блоки, совместимые со сторонними приложениями
   Поддержка вертикальных блоков "Borland IDE Block Type" и "MSDEVColumnSelect" наравне с "FAR_VerticalBlock_Unicode".

   Новые типы в клипборд Far добавляет только при копировании вертикального блока.
   В клипборде:
     "FAR_VerticalBlock_Unicode" "родной" фаровский блок
     "Borland IDE Block Type" блок содержит 1 байт и равен 0x02
     "MSDEVColumnSelect"      блок содержит 0 байт.
     Сами данные содержатся в "CF_UNICODETEXT".

   При вставке в редактор Far знает про эти блоки и вставляет вертикальный блок.

--------------------------------------------------------------------------------
svs 2015-10-15 13:15:19+03:00 - build 4435

1. Mantis#0003070: DI_EDIT+DIF_EDITEXPAND: variables are expanded too early
   "Expansion" takes place only if dialog procedure has returned TRUE.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0003070: DI_EDIT+DIF_EDITEXPAND: переменные разворачиваются преждевременно
   "Разворот" будет только если диалоговая процедура вернула TRUE.

--------------------------------------------------------------------------------
svs 2015-10-14 17:41:39+03:00 - build 4434

1. SQLite 3.9.0

2. Mantis#0003033: Defect in drawing a frame in DI_TEXT+DIF_SEPARATORUSER

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. SQLite 3.9.0

2. Mantis#0003033: Дефект при отрисовке рамки в DI_TEXT+DIF_SEPARATORUSER

--------------------------------------------------------------------------------
drkns 2015-10-12 18:26:07+02:00 - build 4433

1. another correction of 4431.

--------------------------------------------------------------------------------
w17 2015-10-12 14:00:11+03:00 - build 4432

1. correction of 4431.

--------------------------------------------------------------------------------
drkns 2015-10-11 16:04:27+02:00 - build 4431

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2015-10-02 09:36:40+02:00 - build 4430

1. 0003080: Alternate editor/viewer in FindFile results: temporary files will be deleted on FindFile closing. This should give enough time for external editor to open temporary file.

--------------------------------------------------------------------------------
drkns 2015-09-29 21:44:11+02:00 - build 4429

1. Forum: "Something has happened to network volume deletion messages after 4424"

2. The path is displayed in subst volume disconnection confirmation dialog.

3. Minor fixes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: "Что-то случилось с сообщениями при удалении сетевого диска после 4424"

2. В подтверждение отключения subst-диска добавлено отображение пути.

3. Пара мелочей.

--------------------------------------------------------------------------------
drkns 2015-09-29 09:06:03+02:00 - build 4428

1. gcc build fix

2. Refactoring.

--------------------------------------------------------------------------------
drkns 2015-09-26 21:44:35+02:00 - build 4427

1. 0003093: "Drive" dialog (Alt-F1,Alt-F2) is not closed on Esc key press if the current panel directory is UNC path

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003093: Не закрывается по нажатию Esc диалог "Диск" (Alt-F1,Alt-F2), если текущая папка в панели - UNC

2. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2015-09-24 22:50:09+02:00 - build 4426

1. Do not lose entered text when scrolling through history in command line.

2. Refactoring.

3. Warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не теряем уже введённый текст при прокрутке истории в комстроке.

2. Рефакторинг.

3. Warnings.

--------------------------------------------------------------------------------
drkns 2015-09-23 02:45:20+02:00 - build 4425

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2015-09-21 19:19:19+02:00 - build 4424

1. Correction of 4423.1.

--------------------------------------------------------------------------------
drkns 2015-09-18 22:40:33+02:00 - build 4423

1. Now we accept //these/paths too.

2. GCC build fix

3. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Теперь мы умеем и //вот/такие/пути тоже.

2. GCC build fix

3. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2015-09-17 22:04:20+02:00 - build 4422

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2015-09-17 20:59:50+02:00 - build 4421

1. Correction and simplification of environment variables auto-update logic.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение и упрощение логики автообновления переменных окружения.

--------------------------------------------------------------------------------
svs 2015-09-17 19:11:41+03:00 - build 4420

1. Correction of build 4419 to match the planned logic (see the help)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение build 4419 в соответствии с заложенной логикой (описано в хелпе)

--------------------------------------------------------------------------------
svs 2015-09-17 19:04:05+03:00 - build 4419

1. Mantis#0003078: Configuration editor *marks some parameters as modified even in a new profile
   Only about "System.CopyBufferSize".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0003078: Редактор конфигурации *помечает некоторые параметры как изменённые даже в новом профиле
   Только про "System.CopyBufferSize".

--------------------------------------------------------------------------------
svs 2015-09-10 10:31:11+03:00 - build 4418

1. Mantis#0003055: ID missing for file deletion dialog, unable to check.

    DeleteWipeId                     = {9C054039-5C7E-4B04-96CD-3585228C916F}  --> Dlg.Id
    Main dialog for wiping of files/folders

    DeleteRecycleId                  = {85A5F779-A881-4B0B-ACEE-6D05653AE0EB}  --> Dlg.Id
    Main dialog for deleting of files/folders to recycle bin

    DeleteFileFolderId               = {85A5F779-A881-4B0B-ACEE-6D05653AE0EB}  --> Dlg.Id
    Main dialog for deleting of files/folders

    The next ones are various warnings on removing/wiping:

    DeleteLinkId                     = {B1099BC3-14BD-4B22-87AC-44770D4189A3}  --> Dlg.Id
    "Remove link" dialog

    DeleteFolderId                   = {4E714029-11BF-476F-9B17-9E47AA0DA8EA}  --> Dlg.Id
    Folder removal dialog
    (System.DeleteToRecycleBin = false)

    DeleteFolderRecycleId            = {A318CBDC-DBA9-49E9-A248-E6A9FF8EC849}  --> Dlg.Id
    Dialog for deleting a folder to recycle bin
    (System.DeleteToRecycleBin = true)

    WipeFolderId                     = {E23BB390-036E-4A30-A9E6-DC621617C7F5}  --> Dlg.Id
    Dialog for wiping a folder

    DeleteAskDeleteROId              = {8D4E84B3-08F6-47DF-8C40-7130CD31D0E6}  --> Dlg.Id
    ReadOnly file deletion confirmation

    DeleteAskWipeROId                = {6792A975-57C5-4110-8129-2D8045120964}  --> Dlg.Id
    ReadOnly file wiping confirmation

    WipeHardLinkId                   = {5297DDFE-0A37-4465-85EF-CBF9006D65C6}  --> Dlg.Id
    Warning on wiping a file with multiple hard links

    RecycleFolderConfirmDeleteLinkId = {26A7AB9F-51F5-40F7-9061-1AE6E2FBD00A}  --> Dlg.Id
    Warning on a folder containing symbolic links and data loss after cleaning the recycle bin
    so the links have to be deleted (see MRecycleFolderConfirmDeleteLink?)

    CannotRecycleFileId              = {52CEB5A5-06FA-43DD-B37C-239C02652C99}  --> Dlg.Id
    Could not delete file to recycle bin

    CannotRecycleFolderId            = {BBD9B7AE-9F6B-4444-89BF-C6124A5A83A4}  --> Dlg.Id
    Could not delete folder to recycle bin

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0003055: Отсутствие ID'а у "диалога удаления файлов", невозможность проверки.

    DeleteWipeId                     = {9C054039-5C7E-4B04-96CD-3585228C916F}  --> Dlg.Id
    Основной диалог уничтожения файлов/папок

    DeleteRecycleId                  = {85A5F779-A881-4B0B-ACEE-6D05653AE0EB}  --> Dlg.Id
    Основной диалог удаления файлов/папок в корзину

    DeleteFileFolderId               = {85A5F779-A881-4B0B-ACEE-6D05653AE0EB}  --> Dlg.Id
    Основной диалог удаления файлов/папок

    Дальше разнообразные предупреждения по теме удаления/уничтожения:

    DeleteLinkId                     = {B1099BC3-14BD-4B22-87AC-44770D4189A3}  --> Dlg.Id
    Диалог "Удаление ссылки"

    DeleteFolderId                   = {4E714029-11BF-476F-9B17-9E47AA0DA8EA}  --> Dlg.Id
    Диалог удаления папки
    (System.DeleteToRecycleBin = fasle)

    DeleteFolderRecycleId            = {A318CBDC-DBA9-49E9-A248-E6A9FF8EC849}  --> Dlg.Id
    Диалог удаления папки в корзину
    (System.DeleteToRecycleBin = true)

    WipeFolderId                     = {E23BB390-036E-4A30-A9E6-DC621617C7F5}  --> Dlg.Id
    Диалог уничтожения папки

    DeleteAskDeleteROId              = {8D4E84B3-08F6-47DF-8C40-7130CD31D0E6}  --> Dlg.Id
    Подтверждение удаления ReadOnly-файла

    DeleteAskWipeROId                = {6792A975-57C5-4110-8129-2D8045120964}  --> Dlg.Id
    Подтверждение уничтожения ReadOnly-файла

    WipeHardLinkId                   = {5297DDFE-0A37-4465-85EF-CBF9006D65C6}  --> Dlg.Id
    Диалог-предупреждение об уничтожении файла с несколькими хардлинками

    RecycleFolderConfirmDeleteLinkId = {26A7AB9F-51F5-40F7-9061-1AE6E2FBD00A}  --> Dlg.Id
    Предупреждение о том, что папка содержит символические ссылки и при очистке корзины
    данные будут потеряны и нужно разорвать связи (см. MRecycleFolderConfirmDeleteLink?)

    CannotRecycleFileId              = {52CEB5A5-06FA-43DD-B37C-239C02652C99}  --> Dlg.Id
    Не удалось удалить файл в корзину

    CannotRecycleFolderId            = {BBD9B7AE-9F6B-4444-89BF-C6124A5A83A4}  --> Dlg.Id
    Не удалось удалить папку в корзину

--------------------------------------------------------------------------------
svs 2015-09-08 17:50:24+03:00 - build 4417

1. Mantis#0002905: Assign GUID to "Apply command" dialog (CtrlG)

    ApplyCommandId                   = {044EF83E-8146-41B2-97F0-404C2F4C7B69}  --> Dlg.Id
    "Apply command" dialog (CtrlG)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002905: Присвоить гуид диалогу Apply command (CtrlG)

    ApplyCommandId                   = {044EF83E-8146-41B2-97F0-404C2F4C7B69}  --> Dlg.Id
    Диалог "Применить команду" (CtrlG)

--------------------------------------------------------------------------------
w17 2015-09-08 16:09:18+03:00 - build 4416

1. Correction of 4414 -typo

--------------------------------------------------------------------------------
w17 2015-09-08 12:29:00+03:00 - build 4415

1. Continuation of 4392, 4394 (M#2951)
   Remove traces of Tree from command menu and keybar.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 4392, 4394 (M#2951)
   Убираем следы дерева из меню команд и кейбара.

--------------------------------------------------------------------------------
svs 2015-09-07 16:06:23+03:00 - build 4414

1. Mantis#0003084: Add GUIDs

    DescribeFileId                   = {D8AF7A38-8357-44A5-A44B-A595CF707549}  --> Dlg.Id
    Description edit dialog (CtrlZ)

    SelectDialogId                   = {29C03C36-9C50-4F78-AB99-F5DC1A9C67CD}  --> Dlg.Id
    Set file selection dialog (Add)

    UnSelectDialogId                 = {34614DDB-2A22-4EA9-BD4A-2DC075643F1B}  --> Dlg.Id
    Clear file selection dialog (Subtract)

    SUBSTDisconnectDriveError1Id     = {FF18299E-1881-42FA-AF7E-AC05D99F269C}  --> Dlg.Id
    SUBSTDisconnectDriveError2Id     = {43B0FFC2-70BE-4289-91E6-FE9A3D54311B}  --> Dlg.Id
    SUBST volumes removal error dialogs

    RemoteDisconnectDriveError1Id    = {C9439386-9544-49BF-954B-6BEEDE7F1BD0}  --> Dlg.Id
    RemoteDisconnectDriveError2Id    = {F06953B8-25AA-4FC0-9899-422FC1D49F7A}  --> Dlg.Id
    Network volumes disconnection error dialogs

    EjectHotPlugMediaErrorId         = {D6DC3621-877E-4BE2-80CC-BDB2864CE038}  --> Dlg.Id
    Flash drive removal error dialog

    VHDDisconnectDriveErrorId        = {B890E6B0-05A9-4ED8-A4C3-BBC4D29DA3BE}  --> Dlg.Id
    Virtual volume removal error dialog

    ChangeDriveCannotReadDiskErrorId = {F3D46DC3-380B-4264-8BF8-10B05B897A5E}
    Drive change error dialog

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0003084: Добавить GUIDs

    DescribeFileId                   = {D8AF7A38-8357-44A5-A44B-A595CF707549}  --> Dlg.Id
    Диалог ввода описаний (CtrlZ)

    SelectDialogId                   = {29C03C36-9C50-4F78-AB99-F5DC1A9C67CD}  --> Dlg.Id
    Диалог установки выделения файлов (Add)

    UnSelectDialogId                 = {34614DDB-2A22-4EA9-BD4A-2DC075643F1B}  --> Dlg.Id
    Диалог снятия выделения файлов (Subtract)

    SUBSTDisconnectDriveError1Id     = {FF18299E-1881-42FA-AF7E-AC05D99F269C}  --> Dlg.Id
    SUBSTDisconnectDriveError2Id     = {43B0FFC2-70BE-4289-91E6-FE9A3D54311B}  --> Dlg.Id
    Диалоги ошибок удаления SUBST-дисков

    RemoteDisconnectDriveError1Id    = {C9439386-9544-49BF-954B-6BEEDE7F1BD0}  --> Dlg.Id
    RemoteDisconnectDriveError2Id    = {F06953B8-25AA-4FC0-9899-422FC1D49F7A}  --> Dlg.Id
    Диалоги ошибок отключения Net-дисков

    EjectHotPlugMediaErrorId         = {D6DC3621-877E-4BE2-80CC-BDB2864CE038}  --> Dlg.Id
    Диалог ошибки отключения "флешек"

    VHDDisconnectDriveErrorId        = {B890E6B0-05A9-4ED8-A4C3-BBC4D29DA3BE}  --> Dlg.Id
    Диалог ошибки отключения виртуальных дисков

    ChangeDriveCannotReadDiskErrorId = {F3D46DC3-380B-4264-8BF8-10B05B897A5E}
    Диалог ошибки смены диска

--------------------------------------------------------------------------------
drkns 2015-09-04 21:47:21+02:00 - build 4413

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2015-09-04 13:40:29+02:00 - build 4412

1. M#3083: Content column is not updated on panel mode switch

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#3083: Контент-колонка не обновляется при переключении режимов панели

--------------------------------------------------------------------------------
drkns 2015-09-02 21:13:07+02:00 - build 4411

1. 0003080: Alternate editor/viewer in FindFile results

--------------------------------------------------------------------------------
drkns 2015-08-29 00:46:04+02:00 - build 4410

1. Refactoring

2. VC2015 warnings

3. Whole program optimization in VC Release builds

--------------------------------------------------------------------------------
w17 2015-08-15 10:46:45+03:00 - build 4409

1. Correction of 4408

--------------------------------------------------------------------------------
w17 2015-08-15 00:24:24+03:00 - build 4408

1. M#281: Automatic substitution of environment variables does not allow to use paths like C:\%AppData%

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#281: Автоподстановка переменных среды не позволяет работать с путями вида C:\%AppData%

--------------------------------------------------------------------------------
drkns 2015-08-14 22:33:52+02:00 - build 4407

1. 0003056: Marking files at the left panel "breaks" the panel separator

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003056: При отметке файлов левой панели - "портится" разделитель панелей

--------------------------------------------------------------------------------
zg 2015-07-31 15:36:58+02:00 - build 4406

1. forum: when i search for files (any mask), choose one not in current folder,
   press F4 and Ctrl-F10 in opened editor, the panels are shown.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. с форума: ищу файлы (маска любая), из найденных выбираю любой, находящийся не в текущей папке,
   и жму на нём F4. Если в открывшемся редакторе нажать Ctrl-F10, то отобразятся панели.

--------------------------------------------------------------------------------
svs 2015-07-30 00:03:25+03:00 - build 4405

1. SQLite 3.8.11.1

--------------------------------------------------------------------------------
drkns 2015-07-29 23:25:17+02:00 - build 4404

1. Do not sort modified description files.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не сортируем файлы описаний при изменении.

--------------------------------------------------------------------------------
drkns 2015-07-28 23:15:06+02:00 - build 4403

1. Refactoring.

--------------------------------------------------------------------------------
svs 2015-07-28 11:24:22+03:00 - build 4402

1. SQLite 3.8.11

--------------------------------------------------------------------------------
shmuel 2015-07-11 02:20:25+02:00 - build 4401

1. M#3019: Number of custom columns is limited to 10 for plugin
   -> Now it is limited to 100 (C0...C99).

--------------------------------------------------------------------------------
drkns 2015-07-09 00:39:19+02:00 - build 4400

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2015-07-05 19:19:57+02:00 - build 4399

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2015-07-04 21:54:54+02:00 - build 4398

1. After 4394.1, the search dialog crashed in some cases.
   Also, please do not use one- and two-character names for variables in source code for anything but indices.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. После 4394.1 падал диалог поиска в некоторых сценариях.
   Сюда же - убедительная просьба не использовать одно- и двухбуквенные имена переменных в коде для чего бы то ни было, кроме индексов.

--------------------------------------------------------------------------------
drkns 2015-07-02 23:37:09+02:00 - build 4397

1. Forum: Strange behavior of F7/Shift-F7 search in editor

2. Warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: Странное поведение поиска F7/Shift-F7 в редактировании

2. Warnings.

--------------------------------------------------------------------------------
zg 2015-06-28 02:50:26+02:00 - build 4396

1. ACTL_SETCURRENTWINDOW, VCTL_QUIT and ECTL_QUIT are executed immediately.

2. ACTL_COMMIT does nothing and is left for compatibility reasons.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. ACTL_SETCURRENTWINDOW, VCTL_QUIT и ECTL_QUIT выполняются сразу.

2. ACTL_COMMIT ничего не делает и оставлена для совместимости.

--------------------------------------------------------------------------------
w17 2015-06-26 18:43:53+03:00 - build 4395

1. Cosmetic changes.

--------------------------------------------------------------------------------
w17 2015-06-25 13:28:40+03:00 - build 4394

1. Items with DIF_CENTERGROUP|DIF_HIDDEN shall not take space in dialogs.

2. Continuation of 4392 -- when tree is switched off then its menu items and dialog buttons are not shown.

3. New far:config setting -- Editor.NewFileUnixEOL
   If True then new files use Unix line endings <LF>.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В диалогах элементы с флагами DIF_CENTERGROUP|DIF_HIDDEN не должны занимать место.

2. Продолжение 4392 -- при отключении дерева его пункты в меню и кнопки в диалогах теперь не показываются.

3. Новый параметр far:config -- Editor.NewFileUnixEOL
   Если задать значение True, во вновь создаваемых файлах будут использоваться юниксовые концы строк <LF>.

--------------------------------------------------------------------------------
drkns 2015-06-24 22:13:33+02:00 - build 4393

1. Refactoring.

--------------------------------------------------------------------------------
w17 2015-06-15 16:31:15+03:00 - build 4392

1. M#2951: Remove everything tree-related from far3
   Not dropped yet, just turned off by default.
   Tree fans can use Panel.Tree.TurnOffCompletely = False in far:config.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2951: Выкинуть все связанное с построением дерева каталогов из far3
   Пока не выкидываем, просто по-умолчанию отключаем.
   Для ценителей дерева можно через far:config сделать Panel.Tree.TurnOffCompletely = False.

--------------------------------------------------------------------------------
drkns 2015-06-09 00:59:20+02:00 - build 4391

1. Mouse click action in autocompletion menu was different from Enter key press.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В меню дополнения клик мыши работал не так, как нажатие Enter.

--------------------------------------------------------------------------------
drkns 2015-06-06 23:50:38+02:00 - build 4390

1. More correct solution for 4388.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Более корректное решение для 4388.

--------------------------------------------------------------------------------
drkns 2015-06-05 00:28:50+02:00 - build 4389

1. Correction of 4387.3.

--------------------------------------------------------------------------------
drkns 2015-06-04 23:42:07+02:00 - build 4388

1. VC10.

--------------------------------------------------------------------------------
drkns 2015-06-04 21:34:47+02:00 - build 4387

1. More paranoid settings for gcc warnings.

2. In some previous version there was broken check for presence of certain functions in OS. It could influence other parts.

3. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Более параноидальные настройки предупреждений для gcc.

2. В какой-то из предыдущих версий была погнута проверка наличия определённых функций в ОС. Могло аукаться в неожиданных местах.

3. Рефакторинг.

--------------------------------------------------------------------------------
zg 2015-06-03 21:49:26+02:00 - build 4386

1. 0003001: BookmarkManager script functionality broken in nightly builds.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003001: В ночных сборках сломалась работа скрипта BookmarkManager.

--------------------------------------------------------------------------------
drkns 2015-06-03 20:24:43+02:00 - build 4385

1. 0003000: problem with copying screen with /ag key

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0003000: проблема копирования экрана с ключом /ag

--------------------------------------------------------------------------------
zg 2015-05-29 23:39:54+02:00 - build 4384

1. 0002997: Improper sorting after Compare Folders.

--------------------------------------------------------------------------------
zg 2015-05-29 19:12:18+02:00 - build 4383

1. FARLANG is assigned an empty value for a clean profile.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. на чистом профиле FARLANG устанавливается в пустое значение.

--------------------------------------------------------------------------------
svs 2015-05-21 07:33:01+03:00 - build 4382

1. SQLite 3.8.10.2

--------------------------------------------------------------------------------
drkns 2015-05-18 22:39:06+02:00 - build 4381

1. Warnings mix:
   - for vc, suppression of warnings moved to a separate file
   - -Wextra for gcc.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Warnings mix:
   - для vc подавление предупреждений вынесено в отдельный файл
   - -Wextra для gcc.

2. Рефакторинг.

--------------------------------------------------------------------------------
zg 2015-05-16 04:38:48+02:00 - build 4380

1. 0002994: GUID for User Menu dialogs invoked with !?<title>?<init>!.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002994: GUID для диалогов в User Menu, вызываемых посредством !?<title>?<init>!.

--------------------------------------------------------------------------------
drkns 2015-05-15 21:52:32+02:00 - build 4379

1. Correction of 4376.

2. Minor issues.

--------------------------------------------------------------------------------
drkns 2015-05-15 00:03:45+02:00 - build 4378

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2015-05-14 08:41:28+02:00 - build 4377

1. Correction of 4364.

--------------------------------------------------------------------------------
drkns 2015-05-14 00:00:00+02:00 - build 4376

1. Refactoring.

--------------------------------------------------------------------------------
zg 2015-05-10 02:14:51+02:00 - build 4375

1. 0002991: Dynamic selection mark in panels.

--------------------------------------------------------------------------------
svs 2015-05-09 23:17:24+03:00 - build 4374

1. SQLite 3.8.10.1

--------------------------------------------------------------------------------
drkns 2015-05-08 18:51:45+02:00 - build 4373

1. Error in file size calculation at copying with ADS taken into account.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ошибка в вычислении размера файла при копировании с учётом ADS.

--------------------------------------------------------------------------------
drkns 2015-05-08 01:29:05+02:00 - build 4372

1. 0002990: Viewer crashed if opened from temporary editor

--------------------------------------------------------------------------------
svs 2015-05-07 20:33:44+03:00 - build 4371

1. SQLite 3.8.10

--------------------------------------------------------------------------------
drkns 2015-05-07 16:23:58+02:00 - build 4370

1. Displaying the number of processed bytes in copying progress dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В диалоге прогресса копирования отображается количество обработанных байт.

--------------------------------------------------------------------------------
drkns 2015-05-06 22:16:11+02:00 - build 4369

1. And once more.

--------------------------------------------------------------------------------
drkns 2015-05-06 20:26:51+02:00 - build 4368

1. And once more.

--------------------------------------------------------------------------------
drkns 2015-05-06 17:29:36+02:00 - build 4367

1. A couple of corrections in 4366.

--------------------------------------------------------------------------------
drkns 2015-05-06 16:39:28+02:00 - build 4366

1. Forum: Autocompletion of environment variables in command line

2. far:config: Editor.WordDiv option is renamed to System.WordDiv.

3. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: Авто-дополнение переменных окружения в ком. строке

2. far:config: опция Editor.WordDiv переименована в System.WordDiv.

3. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2015-05-04 14:51:59+02:00 - build 4365

1. Correction of 4364.

--------------------------------------------------------------------------------
drkns 2015-05-04 14:42:35+02:00 - build 4364

1. Forum: Crash in editor during text replace done with [x] Pick up the word
   In addition, the algorithm of word search in a line is slightly redone.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: Падение в редакторе при вызове замены текста при [x] Pick up the word
   Попутно немного переделана логика поиска слова в строке.

--------------------------------------------------------------------------------
drkns 2015-05-01 21:11:56+02:00 - build 4363

1. Refactoring.

--------------------------------------------------------------------------------
zg 2015-04-30 01:15:07+02:00 - build 4362

1. refactoring: processing of keypresses.

--------------------------------------------------------------------------------
drkns 2015-04-26 13:40:02+02:00 - build 4361

1. Continuation of 4356.

--------------------------------------------------------------------------------
drkns 2015-04-26 03:26:55+02:00 - build 4360

1. Correction of 4356.

--------------------------------------------------------------------------------
drkns 2015-04-26 01:04:53+02:00 - build 4359

1. Continuation of 4356.

--------------------------------------------------------------------------------
zg 2015-04-26 00:40:10+02:00 - build 4358

1. correction of 4353.2: Releasing of a modifier may be interpreted as BreakKey for menu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4353.2: Отпускание модификатора может быть воспринято как BreakKey для меню.

--------------------------------------------------------------------------------
drkns 2015-04-25 23:44:26+02:00 - build 4357

1. Correction of 4356.

--------------------------------------------------------------------------------
drkns 2015-04-25 22:27:47+02:00 - build 4356

1. Refactoring.

--------------------------------------------------------------------------------
zg 2015-04-23 12:54:15+02:00 - build 4355

1. correction of 4352 for FarInputRecordToName.

--------------------------------------------------------------------------------
zg 2015-04-23 02:01:09+02:00 - build 4354

1. correction of 4345: xlat malfunction in editor.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4345: не работал xlat в редакторе.

--------------------------------------------------------------------------------
zg 2015-04-22 21:26:13+02:00 - build 4353

1. DM_SETMOUSEEVENTNOTIFY is renamed to DM_SETINPUTNOTIFY.

2. DN_INPUT now receives all console events.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. DM_SETMOUSEEVENTNOTIFY переименована в DM_SETINPUTNOTIFY.

2. в DN_INPUT теперь приходят все события консоли.

--------------------------------------------------------------------------------
zg 2015-04-22 14:23:46+02:00 - build 4352

1. correction of 4337: FAR responds to modifiers release.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4337: фар реагирует на отжатия модификаторов.

--------------------------------------------------------------------------------
drkns 2015-04-15 22:47:32+02:00 - build 4351

1. 0002872: Do not break the codepage of FarMenu.ini

2. Related to #1 refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002872: Не ломать кодовую страницу файла FarMenu.ini

2. Связанный с #1 рефакторинг.

--------------------------------------------------------------------------------
w17 2015-04-14 15:03:44+03:00 - build 4350

1. Rollback of 4324+, unnecessary feature.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Откат 4324+, невостребованная фича.

--------------------------------------------------------------------------------
drkns 2015-04-13 14:09:29+02:00 - build 4349

1. History could contain duplicate items (bug in sqlite_unicode.c)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В истории могли дублироваться элементы (баг в sqlite_unicode.c)

--------------------------------------------------------------------------------
zg 2015-04-13 13:27:28+02:00 - build 4348

1. correction of 4337: ralt does not switch the menu filter on.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4337: ralt не включает фильтр в меню.

--------------------------------------------------------------------------------
drkns 2015-04-13 10:40:22+02:00 - build 4347

1. Correction of 4309.

--------------------------------------------------------------------------------
drkns 2015-04-13 09:52:11+02:00 - build 4346

1. Correction of 4345.

--------------------------------------------------------------------------------
drkns 2015-04-12 22:26:53+02:00 - build 4345

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2015-04-12 21:02:09+02:00 - build 4344

1. Based on http://forum.farmanager.com/viewtopic.php?f=9&t=9034:
   - Experimental: add support for Unicode in SQLite, now work with DB can be case insensitive.
   - Storing of position in viewer/editor is case insensitive.
   - For this to work correctly history.db has to be removed or updated according to the instruction in the topic above.
   - Inform us if it matters anywhere but storing positions in viewer/editor.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. По мотивам http://forum.farmanager.com/viewtopic.php?f=9&t=9034:
   - Экспериментально: добавлена поддержка юникода в SQLite, работа с базами теперь может вестись регистронезависимо.
   - Запоминание позиции в просмотре/редакторе производится регистронезависимо.
   - Для того, чтобы это работало адекватно, history.db надо удалить, или, если жалко, обновить по инструкции в вышеуказанном топике.
   - Если это актуально ещё где-то, кроме запоминания позиций в просмотре/редакторе - пишите.

--------------------------------------------------------------------------------
zg 2015-04-12 19:46:28+02:00 - build 4343

1. correction of 4332: changing codepage in editor.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4332: смена кодировки в редакторе.

--------------------------------------------------------------------------------
drkns 2015-04-12 15:18:07+02:00 - build 4342

1. Forum: far /import crash

2. Refactoring.

--------------------------------------------------------------------------------
drkns 2015-04-11 23:04:41+02:00 - build 4341

1. Refactoring.

2. Warnings.

--------------------------------------------------------------------------------
zg 2015-04-10 13:29:09+02:00 - build 4340

1. correction of 4337: selection reset while editing.

2. numlock, capslock, scrolllock removed the 'Unchanged' flag in edit fields.

3. gcc warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4337: сбрасывалось выделение при редактировании.

2. нажатие numlock, capslock, scrolllock снимало признак неизменённости в полях ввода.

3. gcc warnings.

--------------------------------------------------------------------------------
zg 2015-04-10 01:25:50+02:00 - build 4339

1. incorrect initialization of a dialog item for nonzero FarDialogItem.MaxLength.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. при ненулевом FarDialogItem.MaxLength некорректно инициализировался элемент диалога.

--------------------------------------------------------------------------------
svs 2015-04-09 06:54:08+03:00 - build 4338

1. SQLite 3.8.9

--------------------------------------------------------------------------------
zg 2015-04-09 03:05:55+02:00 - build 4337

1. processing of CtrlAltShift is isolated.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. изолирована обработка нажатия CtrlAltShift.

--------------------------------------------------------------------------------
drkns 2015-04-05 19:07:30+02:00 - build 4336

1. Refactoring. Some renaming and moving of some functions.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг. Немного переименований и перенос некоторых функций.

--------------------------------------------------------------------------------
drkns 2015-04-03 20:55:27+02:00 - build 4335

1. 0002980: Malfunction of "Code pages" menu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002980: Неисправности в меню "Code pages".

--------------------------------------------------------------------------------
zg 2015-04-03 14:10:08+02:00 - build 4334

1. correction of 4330.

--------------------------------------------------------------------------------
zg 2015-04-03 13:55:43+02:00 - build 4333

1. correction of 4332.

--------------------------------------------------------------------------------
zg 2015-04-03 02:57:53+02:00 - build 4332

1. 0002979: Lossless editing of any files in UTF-8 mode.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002979: Редактирование любых файлов без потерь в режиме UTF-8.

--------------------------------------------------------------------------------
drkns 2015-04-02 23:15:07+02:00 - build 4331

1. Refactoring.

2. Plugins menu would not be invoked from command line completion menu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг.

2. Из меню дополнения в комстроке не вызывалось меню плагинов.

--------------------------------------------------------------------------------
zg 2015-04-02 16:15:43+02:00 - build 4330

1. forum: Get the contents of command line with a plugin from user menu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. с форума: Получить содержимое ком. строки плагином из юзер меню.

--------------------------------------------------------------------------------
w17 2015-04-01 20:26:38+03:00 - build 4329

1. 'Find file' word search worked incorrectly if a word was at the end of a block.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Некорректно работал поиск по словам Find file, если слово попадало ровно на конец блока.

--------------------------------------------------------------------------------
shmuel 2015-03-29 20:49:04+02:00 - build 4328

1. Correction of 4261.

--------------------------------------------------------------------------------
drkns 2015-03-28 16:51:12+02:00 - build 4327

1. Refactoring.

--------------------------------------------------------------------------------
w17 2015-03-26 13:57:16+03:00 - build 4326

1. Correction of 4324

--------------------------------------------------------------------------------
w17 2015-03-26 13:51:15+03:00 - build 4325

1. Correction of 4324

--------------------------------------------------------------------------------
w17 2015-03-25 13:23:12+03:00 - build 4324

1. Experimental: Continuation of 3717 (M#2208: Store the folder a command was issued in).
   A new configuration parameter: System.PerFolderCmdHistory.
   The default is false, if true then duplicate commands are written into history
   if the folders of launch are different. The duplicate commands are not shown in standard FAR history.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Experimental: Продолжение 3717 (M#2208: Запоминать, в какой папке была запущена команда).
   Новый параметр конфигурации System.PerFolderCmdHistory.
   Умолчание = false, если true - в историю записываюся одинаковые команды
   если каталоги запуска отличаются. В стандартной истории фар дубли команд не показываются.

--------------------------------------------------------------------------------
drkns 2015-03-21 16:50:29+02:00 - build 4323

1. Copying of text from edit fields could trigger assertions.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Копирование текста из полей ввода могло вызывать ассерты.

--------------------------------------------------------------------------------
zg 2015-03-21 16:47:45+02:00 - build 4322

1. remove an easter egg from valentin. for example, if the following magic set of letters was entered in the command line:
   lua:far.InputRecordToName ({EventType=far.Flags.KEY_EVENT,KeyDown=true,RepeatCount=1,VirtualKeyCode=45,VirtualScanCode=82,UnicodeChar=0,ControlKeyState=258})
   the grabber was invoked.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. удалена пасхалка от валентина. если, например, в командной строке ввести магический набор букв:
   lua:far.InputRecordToName ({EventType=far.Flags.KEY_EVENT,KeyDown=true,RepeatCount=1,VirtualKeyCode=45,VirtualScanCode=82,UnicodeChar=0,ControlKeyState=258})
   вызывался граббер.

--------------------------------------------------------------------------------
zg 2015-03-21 00:32:43+02:00 - build 4321

1. remove FARMACRO_KEY_EVENT.

2. temporary correction of 4318 for shift/alt/ctrl keypresses.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. событие FARMACRO_KEY_EVENT удалено.

2. временное уточнение 4318 для нажатий shift/alt/ctrl.

--------------------------------------------------------------------------------
drkns 2015-03-20 09:36:40+02:00 - build 4320

1. Continuation of 4309.

--------------------------------------------------------------------------------
drkns 2015-03-19 22:55:49+02:00 - build 4319

1. Correction of 4280.

--------------------------------------------------------------------------------
zg 2015-03-19 19:12:19+02:00 - build 4318

1. refactoring: processing of keypresses.

--------------------------------------------------------------------------------
w17 2015-03-19 13:08:26+03:00 - build 4317

1. M#2971: Crash on use of a regular expression with large number of groups

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2971: Падение при использовании регулярного выражения с большим количеством групп

--------------------------------------------------------------------------------
zg 2015-03-19 00:34:46+02:00 - build 4316

1. refactoring: processing of keypresses.

--------------------------------------------------------------------------------
drkns 2015-03-18 22:06:40+02:00 - build 4315

1. Continuation of 4309.

--------------------------------------------------------------------------------
zg 2015-03-18 16:13:08+02:00 - build 4314

1. correction of 4309: a block of undefined type was selected with ctrla in editor.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4309: по ctrla в редакторе выделялся блок неопределённого типа.

--------------------------------------------------------------------------------
zg 2015-03-18 15:36:39+02:00 - build 4313

1. correction of 4305: ProcessEditorInputW stopped to receive key release messages.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4305: в ProcessEditorInputW перестали приходить сообщения об отпускании клавиш.

--------------------------------------------------------------------------------
drkns 2015-03-18 08:59:33+02:00 - build 4312

1. Syncronization objects were uninitialized in some cases.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В некоторых случаях не инициализировались объекты синхронизации.

--------------------------------------------------------------------------------
drkns 2015-03-18 08:18:21+02:00 - build 4311

1. Correction of 4309.

--------------------------------------------------------------------------------
drkns 2015-03-17 23:32:39+02:00 - build 4310

1. 0002970: Issues with window caption refresh

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002970: Случаи необновления заголовка окна

--------------------------------------------------------------------------------
drkns 2015-03-17 22:42:42+02:00 - build 4309

1. Continue breaking of the editor. Bugs possible.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжаем ломать редактор. Возможны сказочные баги.

--------------------------------------------------------------------------------
zg 2015-03-17 18:48:44+02:00 - build 4308

1. correction of 4306.

--------------------------------------------------------------------------------
drkns 2015-03-17 09:46:47+02:00 - build 4307

1. 0002969: ProcessViewerEventW does not receive messages about QuickView closed

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002969: В ProcessViewerEventW не приходят сообщения о закрытии QuickView

--------------------------------------------------------------------------------
zg 2015-03-17 00:30:18+02:00 - build 4306

1. forum: problems with EF_OPENMODE_USEEXISTING.

--------------------------------------------------------------------------------
zg 2015-03-15 03:02:46+02:00 - build 4305

1. ProcessEditorInput is not sent KEY_IDLE and KEY_NONE pseudo-keys.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. в ProcessEditorInput не посылаются псевдоклавиши KEY_IDLE и KEY_NONE.

--------------------------------------------------------------------------------
w17 2015-03-12 17:40:22+03:00 - build 4304

1. Correction of 4302.

--------------------------------------------------------------------------------
drkns 2015-03-11 20:07:31+02:00 - build 4303

1. Correction of 4298.

--------------------------------------------------------------------------------
w17 2015-03-11 15:50:45+03:00 - build 4302

1. Remove query for privilege escalation for file viewed from flash drive with NTFS on Win Server 2008 R2 SP1

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Устранение запроса повышения привилегий при посмотре файла на флэшке с NTFS под Win Server 2008 R2 SP1

--------------------------------------------------------------------------------
w17 2015-03-11 13:20:04+03:00 - build 4301

1. Correction of 4279.

--------------------------------------------------------------------------------
drkns 2015-03-09 23:54:31+02:00 - build 4300

1. Correction of 4298.

--------------------------------------------------------------------------------
zg 2015-03-09 20:27:35+02:00 - build 4299

1. typo in 4298.

--------------------------------------------------------------------------------
drkns 2015-03-09 19:35:06+02:00 - build 4298

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2015-03-09 19:09:39+02:00 - build 4297

1. M#2966: Incorrect insertion of vertical block at the end of file.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2966: Неправильная вставка вертикального блока в конце файла.

--------------------------------------------------------------------------------
drkns 2015-03-09 16:57:18+02:00 - build 4296

1. Correction of 4294.

--------------------------------------------------------------------------------
shmuel 2015-03-09 00:15:32+02:00 - build 4295

1. M#2965: Insertion of a vertical block strips last characters in each line.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2965: При вставке вертикального блока усекаются последние символы в каждой строке.

--------------------------------------------------------------------------------
drkns 2015-03-08 19:08:46+02:00 - build 4294

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2015-03-08 10:38:08+02:00 - build 4293

1. 0002963: FAR crash while opening a file in incorrect encoding

2. A couple of "corrections".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002963: Падение Фара при открытии файла в неверной кодировке

2. Пара "уточнений".

--------------------------------------------------------------------------------
drkns 2015-03-08 03:59:24+02:00 - build 4292

1. fsf.sprintf/fsf.snprintf worked incorrectly (in fact, too correctly) in GCC.

2. CoUninitialize was called earlier than expected.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В GCC некорректно (точнее, слишком корректно) работали fsf.sprintf/fsf.snprintf.

2. CoUninitialize вызывалась раньше чем нужно.

--------------------------------------------------------------------------------
drkns 2015-03-05 23:52:10+02:00 - build 4291

1. Refactoring.

2. CoInitializeEx was broken in one of the previous builds.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг.

2. В одном из предыдущих билдов отвалился вызов CoInitializeEx.

--------------------------------------------------------------------------------
zg 2015-03-05 12:02:34+02:00 - build 4290

1. always load plugins with LoadLibrary* in order to increase DLL ref counter.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. всегда грузим плагины через LoadLibrary*, чтобы увеличить счётчик ссылок на длл.

--------------------------------------------------------------------------------
zg 2015-03-05 05:31:29+02:00 - build 4289

1. correction of 4248: leave old DM_SETTEXT behavior in wrapper.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4248: во враппере оставим старое поведение DM_SETTEXT.

--------------------------------------------------------------------------------
zg 2015-03-05 03:31:02+02:00 - build 4288

1. 0002959: FCTL_SETPANELDIRECTORY redraws screen at wrong moments.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002959: FCTL_SETPANELDIRECTORY перерисовывает экран когда не надо.

--------------------------------------------------------------------------------
drkns 2015-03-04 02:57:17+02:00 - build 4287

1. Correction of 4280.2.

--------------------------------------------------------------------------------
drkns 2015-03-03 22:47:29+02:00 - build 4286

1. 0002957: Undo cancels added line but it remains after file save

2. Expand main menu with Up key.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002957: Undo отменяет добавленную строку, но после сохранения файла она остаётся

2. Раскрываем главное меню в том числе и по стрелке вверх.

--------------------------------------------------------------------------------
drkns 2015-03-02 22:15:32+02:00 - build 4285

1. Correction of 4280.1.

--------------------------------------------------------------------------------
drkns 2015-03-01 16:17:34+02:00 - build 4284

1. Strange things could happen after some manipulations with QuickView.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При определённых манипуляциях с QuickView могло происходить странное.

--------------------------------------------------------------------------------
zg 2015-03-01 13:12:22+02:00 - build 4283

1. 0002956: FAR crash on start after exit with quick view panel visible.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002956: Падение Фара на старте после выхода с панелью быстрого просмотра.

--------------------------------------------------------------------------------
drkns 2015-03-01 02:12:37+02:00 - build 4282

1. Correction of 4280.2.

--------------------------------------------------------------------------------
drkns 2015-03-01 00:58:19+02:00 - build 4281

1. Correction of 4280.1.

--------------------------------------------------------------------------------
drkns 2015-02-28 23:56:47+02:00 - build 4280

1. FCTL_SETPANELDIRECTORY now returns 0 on failure and does not show dialogs.

2. Refactoring. Expect some bugs in editor.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. FCTL_SETPANELDIRECTORY теперь возвращает 0 при неудаче и не порождает диалогов в процессе.

2. Рефакторинг. Возможны разнообразные чудеса в редакторе.

--------------------------------------------------------------------------------
w17 2015-02-27 14:35:20+03:00 - build 4279

1. M#2954: Switch to Viewer (F6) loses current position when "Save file position" is OFF

--------------------------------------------------------------------------------
svs 2015-02-25 19:08:58+03:00 - build 4278

1. SQLite 3.8.8.3

--------------------------------------------------------------------------------
drkns 2015-02-23 19:43:02+02:00 - build 4277

1. Correction of 4275.

2. Continuation of 4276.

--------------------------------------------------------------------------------
drkns 2015-02-21 11:14:06+02:00 - build 4276

1. Incorrect expansion of paths C:path.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Некорректно работало разворачивание путей вида C:path.

--------------------------------------------------------------------------------
drkns 2015-02-21 09:54:33+02:00 - build 4275

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2015-02-21 00:52:00+02:00 - build 4274

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2015-02-20 17:58:57+02:00 - build 4273

1. Refactoring.

--------------------------------------------------------------------------------
zg 2015-02-20 01:01:34+02:00 - build 4272

1. correction of 4262: when something caused quickview redraw in VE_READ, FAR crashed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4262: если что-то в VE_READ приводило к перерисовке quickview - фар падал.

--------------------------------------------------------------------------------
shmuel 2015-02-19 16:30:33+02:00 - build 4271

1. M#2950: InputRecordToName returns a character of code 1: ☺

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2950: InputRecordToName возвращает символ с кодом 1: ☺

--------------------------------------------------------------------------------
w17 2015-02-18 23:36:18+03:00 - build 4270

1. M#2949: HEX search problem -- fix 4208

--------------------------------------------------------------------------------
svs 2015-02-14 10:29:41+03:00 - build 4269

1. SQLite 3.8.8.2

--------------------------------------------------------------------------------
w17 2015-02-13 16:24:23+03:00 - build 4268

1. M#2540: Viewer Search always starts from the beginning of the file

2. Default Viewer.PersistentBlocks = true

--------------------------------------------------------------------------------
zg 2015-02-09 02:06:46+02:00 - build 4267

1. ACTL_WAITKEY returns 0 in accordance with the documentation.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. вызов ACTL_WAITKEY возвращает 0 в соответствии с документацией.

--------------------------------------------------------------------------------
w17 2015-02-08 16:36:15+03:00 - build 4266

1. M#2935: <Symlink> to files not showing

2. M#2934: Errors in HEX mode in search dialogs

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2935: <Symlink> to files not showing

2. M#2934: Ошибки c HEX режимом в диалогах поиска

--------------------------------------------------------------------------------
w17 2015-02-04 15:35:47+03:00 - build 4265

1. Correction of 4262

--------------------------------------------------------------------------------
w17 2015-02-04 14:10:08+03:00 - build 4264

1. Correction of 4263

--------------------------------------------------------------------------------
w17 2015-02-03 20:32:45+03:00 - build 4263

1. Viewer autoupdate if ACTL_SYNCHRO or far.Timer() are present (M#2532)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Viewer autoupdate при наличии ACTL_SYNCHRO или far.Timer() (M#2532)

--------------------------------------------------------------------------------
w17 2015-02-03 17:43:09+03:00 - build 4262

1. Incorrect display of the text of a modified file after switching to viewer.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Некорректное отображение текста изменённого файла при переключении во вьювер.

--------------------------------------------------------------------------------
shmuel 2015-02-03 01:42:54+02:00 - build 4261

1. Plugins API: FSF.FarClock standard function is added - same as Far.UpTime in macros,
   but in microseconds and with microsecond resolution. The documentation to be done.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Plugins API: добавлена стандартная функция FSF.FarClock - то же, что Far.UpTime в макросах,
   но в микросекундах и с микросекундным разрешением. Документация следует.

--------------------------------------------------------------------------------
w17 2015-02-02 13:38:18+03:00 - build 4260

1. Fixes in viewer:
   -a couple of minor bugs/typos
   -0x0 <=> 0xffff hack and consequences of its refactoring
   Experimental - Shift+MouseClick selects arbitrary text, the beginning/end
   Continuing M#2540 - regular expression search is not fixed yet

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Правки просмотрщика:
   -пара мелких багов/опечаток
   -'прелэстный' хак 0x0 <=> 0xffff и последствия его рефакторинга
   Экспериментально - можно выделять произвольный текст Shift+MouseClick начало/конец области
   Продолжение M#2540 - поиск с регулярными выражениями пока не исправлен

--------------------------------------------------------------------------------
drkns 2015-02-01 17:25:54+02:00 - build 4259

1. Replacement with regular expressions can use named groups now.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При замене с регулярными выражениями теперь можно использовать именованные группы.

--------------------------------------------------------------------------------
drkns 2015-01-30 19:26:48+02:00 - build 4258

1. 0002708: Regexp "^(.*?\-\-)" != "^(.*?\-{2})"
   Rollback 4257 and fix 3295.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002708: Regexp "^(.*?\-\-)" != "^(.*?\-{2})"
   Откат 4257 и исправление 3295.

--------------------------------------------------------------------------------
w17 2015-01-30 19:39:58+03:00 - build 4257

1. M#0002708: Regexp "^(.*?\-\-)" != "^(.*?\-{2})"
   Return #define MINSTEP(cmp) - /a*?ca/ "abca" which works

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#0002708: Regexp "^(.*?\-\-)" != "^(.*?\-{2})"
   Вернул #define MINSKIP(cmp) - /a*?ca/ "abca" работает

--------------------------------------------------------------------------------
svs 2015-01-26 15:43:08+03:00 - build 4256

1. Crash in debug FAR build on "__FARKEY_ToName(-1)" call.
   In KeyToTextImpl() the expression "KeyText[0]=(wchar_t)(Key&0xFFFF);" caused an invalid character...

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Падение дебажного FAR при вызове "__FARKEY_ToName(-1)".
   В KeyToTextImpl() "KeyText[0]=(wchar_t)(Key&0xFFFF);" приводило к невалидному символу...

--------------------------------------------------------------------------------
drkns 2015-01-24 09:09:05+02:00 - build 4255

1. Correction of 4254.2.

--------------------------------------------------------------------------------
drkns 2015-01-22 23:13:47+02:00 - build 4254

1. Show volume labels from registry if the physical ones do not exist.

2. "Fix" loading of plugins with non-standard placement of dependent dll.

3. Do not close quick search on focus lose for OS newer than XP/2k3.

4. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Показываем метки дисков из реестра при отсутствии физических.

2. "Починим" загрузку плагинов c нетрадиционным расположением зависимых dll.

3. Не закрываем quick search при потере фокуса, если OC новее, чем XP/2k3.

4. Рефакторинг.

--------------------------------------------------------------------------------
shmuel 2015-01-22 13:21:30+02:00 - build 4253

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2015-01-21 23:58:16+02:00 - build 4252

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2015-01-21 16:51:57+02:00 - build 4251

1. Refactoring.

--------------------------------------------------------------------------------
zg 2015-01-20 23:11:38+02:00 - build 4250

1. correction of 4248 for non-editable controls.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4248 для нередактируемых контролов.

--------------------------------------------------------------------------------
svs 2015-01-20 23:19:32+03:00 - build 4249

1. SQLite 3.8.8.1

--------------------------------------------------------------------------------
zg 2015-01-20 03:18:09+02:00 - build 4248

1. 0002912: DM_SETTEXT, DM_GETTEXT in dialogs do not allow handle strings containing '\0'.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002912: В диалогах DM_SETTEXT, DM_GETTEXT не позволяют работать со строками содержащими '\0'.

--------------------------------------------------------------------------------
svs 2015-01-19 23:46:37+03:00 - build 4247

1. SQLite 3.8.8

--------------------------------------------------------------------------------
drkns 2015-01-19 20:24:15+02:00 - build 4246

1. Correction of displaying of file deletion progress bar.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение отображения прогресса при удалении файлов.

--------------------------------------------------------------------------------
shmuel 2015-01-18 20:58:13+02:00 - build 4245

1. Data for content columns of the same name but different plugins are concatenated.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Данные одноимённых контент-колонок от разных плагинов конкатенируются.

--------------------------------------------------------------------------------
shmuel 2015-01-17 23:30:07+02:00 - build 4244

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2015-01-17 23:10:50+02:00 - build 4243

1. 0002908: Exception after attempt of displaying a description for incorrect Descript.ion

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002908: Исключение при попытке отображения описания при некорректном Descript.ion

--------------------------------------------------------------------------------
drkns 2015-01-17 16:00:16+02:00 - build 4242

1. Continuation of 4241.

1. Support for compilation with Intel C++ 14.

--------------------------------------------------------------------------------
drkns 2015-01-17 09:38:11+02:00 - build 4241

1. Race condition in far /?

2. Correction of 4232.

3. Refactoring.

--------------------------------------------------------------------------------
zg 2015-01-16 00:46:37+02:00 - build 4240

1. correction for altf9 in quick search.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. исправление altf9 в быстром поиске.

--------------------------------------------------------------------------------
svs 2015-01-14 12:54:28+03:00 - build 4239

1. F1 shows "MiscCmd" help screen in grabber (Alt-Ins).
   Selection of an area is not cancelled on help window close.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. F1 в грабере (Alt-Ins) показывает раздел помощи "MiscCmd".
   Выделение области после гашения окна помощи не прерывается.

--------------------------------------------------------------------------------
shmuel 2015-01-11 20:00:05+02:00 - build 4238

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2015-01-09 19:25:37+02:00 - build 4237

1. 0002849: ProcessSynchroEventW is called for DMODE_NOPLUGINS.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002849: ProcessSynchroEventW вызывается при DMODE_NOPLUGINS.

--------------------------------------------------------------------------------
zg 2015-01-09 01:10:36+02:00 - build 4236

1. incorrect redrawing of panels after filter menu close.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. после закрытия меню фильтров некорректно перерисовывались панели.

--------------------------------------------------------------------------------
zg 2015-01-09 00:44:51+02:00 - build 4235

1. ACTL_REDRAWALL now redraws everything.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. ACTL_REDRAWALL теперь перерисовывает всё.

--------------------------------------------------------------------------------
drkns 2015-01-08 22:22:57+02:00 - build 4234

1. Refactoring.

2. VS2015 warnings.

--------------------------------------------------------------------------------
drkns 2015-01-04 19:27:27+02:00 - build 4233

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2015-01-03 12:36:25+02:00 - build 4232

1. Refactoring.

--------------------------------------------------------------------------------
zg 2015-01-02 13:56:19+02:00 - build 4231

1. 0002896: Assign a GUID to the panel filter editing dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002896: Присвоить гуид диалогу редактирования фильтра панели.

--------------------------------------------------------------------------------
drkns 2014-12-30 18:01:40+02:00 - build 4230

1. Use std::regex for inner path parser.
   Minimal gcc version is now 4.9.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Используем std::regex во внутреннем парсере путей, во избежание.
   Минимальная версия gcc теперь 4.9.

--------------------------------------------------------------------------------
drkns 2014-12-27 15:13:59+02:00 - build 4229

1. 0002845: Wrong Handling of "exclamation marks" in Menu item "!?<title>?<init>!"

--------------------------------------------------------------------------------
zg 2014-12-26 18:50:17+02:00 - build 4228

1. sometimes fast search in panels was not redrawn correctly.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. быстрый поиск в панелях не всегда корректно перерисовывался.

--------------------------------------------------------------------------------
drkns 2014-12-24 22:53:03+02:00 - build 4227

1. Continuation of #0002893 - privilege escalation is added.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение #0002893 - добавлено повышение полномочий.

--------------------------------------------------------------------------------
drkns 2014-12-22 22:53:05+02:00 - build 4226

1. 0002893: Cannot unmount iso, vhd, vhdx

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002893: Не работает размонтирование iso, vhd, vhdx

--------------------------------------------------------------------------------
svs 2014-12-22 15:31:42+03:00 - build 4225

1. Tree. Shift-F10 and Alt-F10 did not work in copy/move dialogs

2. Tree. Video artifacts (m_ModalMode has changed from "yes/no" to "0..2" for some time now).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Tree. В диалоге копирования/переноса не работали Shift-F10 и Alt-F10

2. Tree. Видео-артефакты (m_ModalMode с некоторых пор не просто "да/нет", а "0..2").

--------------------------------------------------------------------------------
svs 2014-12-22 13:24:20+03:00 - build 4224

1. Corrections on TREEFILE_PROJECT (Mantis#0000186)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнения по TREEFILE_PROJECT (Mantis#0000186)

--------------------------------------------------------------------------------
drkns 2014-12-21 15:02:37+02:00 - build 4223

1. Experimental: alternative solution for a problem of "open with" in launcher.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Экспериментально: альтернативное решение проблемы с "open with" в запускателе.

--------------------------------------------------------------------------------
drkns 2014-12-20 14:21:00+02:00 - build 4222

1. Correction of 4221.

--------------------------------------------------------------------------------
drkns 2014-12-20 14:12:21+02:00 - build 4221

1. Settings import error.

2. Writing failure of tree3.far on exit could freeze the app.

3. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ошибка при импорте настроек.

2. Неудачное сохранение tree3.far при выходе могло приводить к зависанию.

3. Рефакторинг.

--------------------------------------------------------------------------------
zg 2014-12-18 17:04:23+02:00 - build 4220

1. Issues with filenames starting with ゝ character.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. проблемы с файлами, у которых первый символ в имени ゝ.

--------------------------------------------------------------------------------
drkns 2014-12-16 09:27:11+02:00 - build 4219

1. 0002887: Far Manager v3.0 build 4218 x64 (2014-12-16) crash after Ctrl-F in panels (get a full path)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002887: Far Manager v3.0 build 4218 x64 (2014-12-16) падает в панелях при нажатии Ctrl-F для получения полного пути

--------------------------------------------------------------------------------
drkns 2014-12-16 00:02:43+02:00 - build 4218

1. And one more time.

--------------------------------------------------------------------------------
drkns 2014-12-15 21:16:06+02:00 - build 4217

1. Correction of 4216.

--------------------------------------------------------------------------------
drkns 2014-12-15 19:31:52+02:00 - build 4216

1. A couple of issues in 4214.

--------------------------------------------------------------------------------
svs 2014-12-15 13:05:37+03:00 - build 4215

1. Mantis#0002878: Object.CheckHotkey

--------------------------------------------------------------------------------
shmuel 2014-12-15 00:18:36+02:00 - build 4214

1. Experimental: C0 column is removed, now there is arbitrary quantity of plugin content columns.
   Types (or names) of columns are set in panel modes in angle brackets, for example: <Foo>,<Bar>.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Экспериментально: колонки C0 больше нет, есть контент-колонки плагинов в любом количестве.
   Типы (они же имена) колонок задаются в режимах панелей в угловых скобках, например: <Foo>,<Bar>.

--------------------------------------------------------------------------------
drkns 2014-12-14 21:32:16+02:00 - build 4213

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2014-12-13 17:58:08+02:00 - build 4212

1. MacroControl(MCTL_ADDMACRO) with given Callback function did not work in GCC build of FAR.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. MacroControl(MCTL_ADDMACRO) с заданной функцией Callback неправильно работал в GCC-билде Фара.

--------------------------------------------------------------------------------
svs 2014-12-09 21:54:12+03:00 - build 4211

1. SQLite 3.8.7.4

--------------------------------------------------------------------------------
zg 2014-12-07 17:27:25+02:00 - build 4210

1. correction of 4208: crash of some panel ansi plugins.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4208: падали некоторые панельные ansi-плагины.

--------------------------------------------------------------------------------
zg 2014-12-07 15:51:43+02:00 - build 4209

1. correction of 4208: files in encoding 1200 and 1201 were opened in viewer in dump mode.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4208: файлы в кодировке 1200 и 1201 открывались в просмотре в dump режиме.

--------------------------------------------------------------------------------
drkns 2014-12-06 19:29:13+02:00 - build 4208

1. Refactoring.

--------------------------------------------------------------------------------
zg 2014-12-06 01:05:54+02:00 - build 4207

1. rollback of 4203.2, 4204.

--------------------------------------------------------------------------------
shmuel 2014-12-04 20:53:25+02:00 - build 4206

1. Correction of 3680.

--------------------------------------------------------------------------------
w17 2014-12-03 14:41:20+03:00 - build 4205

1. M#2211: GUI context menu cannot be closed by pressing Esc button
   EMenu is called on button release

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2211: GUI context menu cannot be closed by pressing Esc button
   EMenu вызывается при отпускании кнопки

--------------------------------------------------------------------------------
zg 2014-12-03 03:56:49+02:00 - build 4204

1. experimental. continuation of 4203. support for C1-C9 columns.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. экспериментально. продолжение 4203. поддержка колонок C1-C9.

--------------------------------------------------------------------------------
zg 2014-11-30 11:55:22+02:00 - build 4203

1. after switching from a mode with no custom column to a mode with the custom column it displayed nothing.

2. experimental. post-processing of data returned by plugins for custom column with the help of LuaMacro plugin.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. при переключении из режима без кастом колонки в режим с кастом колонкой в ней ничего не отображалось.

2. экспериментально. постобработка данных, возвращаемых плагинами для кастом колонки, при помощи плагина LuaMacro.

--------------------------------------------------------------------------------
zg 2014-11-29 02:37:27+02:00 - build 4202

1. correction of 4137.

--------------------------------------------------------------------------------
zg 2014-11-20 16:25:43+02:00 - build 4201

1. FAR crashed when a plugin returned nullptr in KeyBarLabel.Text.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. фар падал, если плагин в KeyBarLabel.Text возвращал nullptr.

--------------------------------------------------------------------------------
zg 2014-11-20 13:22:03+02:00 - build 4200

1. correction of 4197.

--------------------------------------------------------------------------------
zg 2014-11-20 04:03:52+02:00 - build 4199

1. correction of 4197: do not update plugin panels.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4197: не обновляем плагиновые панели.

--------------------------------------------------------------------------------
zg 2014-11-20 03:14:13+02:00 - build 4198

1. correction of 4197.

--------------------------------------------------------------------------------
zg 2014-11-20 03:03:40+02:00 - build 4197

1. sometimes the panels could be reread but not redrawn.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. иногда панели перечитывались, но не перерисовывались.

--------------------------------------------------------------------------------
drkns 2014-11-20 01:07:04+02:00 - build 4196

1. Change of text color calculation in panels, see http://forum.farmanager.com/viewtopic.php?p=125730.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Измененён способ расчёта цвета текста в панелях, по мотивам http://forum.farmanager.com/viewtopic.php?p=125730.

--------------------------------------------------------------------------------
zg 2014-11-20 00:43:18+02:00 - build 4195

1. content search in files worked only for the first 32 kilobytes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. поиск в файлах по содержимому искал только в первых 32 килобайтах.

--------------------------------------------------------------------------------
svs 2014-11-19 14:51:39+03:00 - build 4194

1. SQLite 3.8.7.2

--------------------------------------------------------------------------------
drkns 2014-11-16 23:30:38+02:00 - build 4193

1. A couple of issues.

--------------------------------------------------------------------------------
drkns 2014-11-16 17:10:47+02:00 - build 4192

1. DWORD -> size_t mix.

--------------------------------------------------------------------------------
drkns 2014-11-16 15:04:03+02:00 - build 4191

1. Forum: msgbox('""','""') does not output quotes

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: msgbox('""','""') не выводит кавычки

2. Рефакторинг.

--------------------------------------------------------------------------------
shmuel 2014-11-14 14:32:36+02:00 - build 4190

1. mf.waitkey worked incorrectly when called not from a macro.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. mf.waitkey неправильно работала, будучи вызвана не из макроса.

--------------------------------------------------------------------------------
drkns 2014-11-12 23:34:04+02:00 - build 4189

1. Do not hide sizes for any types of reparse points.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не скрываем размеры для любых типов reparse point'ов.

--------------------------------------------------------------------------------
w17 2014-11-12 17:19:14+03:00 - build 4188

1. Correction of 4174.3

--------------------------------------------------------------------------------
drkns 2014-11-11 23:09:00+02:00 - build 4187

1. "Delete symbolic links" option is transformed to a warning in the process of deletion.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Опция "Delete symbolic links" переделана в предупреждение в процессе удаления.

--------------------------------------------------------------------------------
w17 2014-11-11 16:30:33+03:00 - build 4186

1. Correction of 4185

--------------------------------------------------------------------------------
w17 2014-11-11 15:50:30+03:00 - build 4185

1. Quick/Diz Viewer Keybar corrections

--------------------------------------------------------------------------------
drkns 2014-11-10 20:11:52+02:00 - build 4184

1. "Create folders in uppercase" option is removed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Опция "Create folders in uppercase" удалена.

--------------------------------------------------------------------------------
drkns 2014-11-10 19:31:00+02:00 - build 4183

1. 4180 once more.

--------------------------------------------------------------------------------
zg 2014-11-10 19:23:23+02:00 - build 4182

1. correction of 4061.1.

--------------------------------------------------------------------------------
zg 2014-11-10 19:00:49+02:00 - build 4181

1. rollback of 4177.

2. parser for editor's altf8 input line is rewritten.

3. correction of positioning with altf8 in lines containing tabulation characters.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. откат 4177.

2. переписан парсер строки перехода по altf8 в редакторе.

3. исправлено позиционирование по altf8 в строках, содержащих табуляции.

--------------------------------------------------------------------------------
drkns 2014-11-10 18:50:48+02:00 - build 4180

1. "System settings/Create folders in uppercase" option did not work.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не работала опция "System settings/Create folders in uppercase".

--------------------------------------------------------------------------------
w17 2014-11-10 18:14:28+03:00 - build 4179

1. Correction of 4122.1

--------------------------------------------------------------------------------
w17 2014-11-10 17:24:43+03:00 - build 4178

1. Correction of 4122.1

--------------------------------------------------------------------------------
zg 2014-11-10 16:08:11+02:00 - build 4177

1. altf8 in editor moved to the given line even if it was cancelled.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. altf8 в редакторе при отмене всё равно переходил на введённую строку.

--------------------------------------------------------------------------------
drkns 2014-11-09 02:12:34+02:00 - build 4176

1. GCC.

--------------------------------------------------------------------------------
drkns 2014-11-09 00:34:51+02:00 - build 4175

1. Correction of 4174.

--------------------------------------------------------------------------------
drkns 2014-11-08 23:16:10+02:00 - build 4174

1. Refactoring.

2. In some cases the key bar was not updated on editor open.

3. Add information on IO_REPARSE_TAG_FILE_PLACEHOLDER (Windows 8.1 OneDrive).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг.

2. В некоторых случаях не обновлялась линейка клавиш при открытии редактора.

3. Добавим знание о IO_REPARSE_TAG_FILE_PLACEHOLDER (Windows 8.1 OneDrive).

--------------------------------------------------------------------------------
zg 2014-11-07 12:33:42+02:00 - build 4173

1. forum:
   The following command called from editor's user menu
   lua: far.Message("from lua")
   when a dialog is shown, makes the last editor line be highlighted with black.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. с форума:
   При вызове из редактора из юзер меню такой команды
   lua: far.Message("from lua")
   во время показанного диалога последняя строка в редакторе закрашивается черным.

--------------------------------------------------------------------------------
zg 2014-11-07 03:22:43+02:00 - build 4172

1. each screen object has now its parent window.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. у каждого экранного объекта теперь есть в обязательном порядке родитель - окно.

--------------------------------------------------------------------------------
drkns 2014-11-06 15:56:10+02:00 - build 4171

1. Forum: Excepton occured: bad allocation

--------------------------------------------------------------------------------
zg 2014-11-05 16:44:44+02:00 - build 4170

1. correction of 4047 for plugin panels:
   Open .7z file containing folders on a panel, set the cursor on it and press CtrlQ, the following is shown:
   Folders          0
   Files            0
   Files size       0
   Allocated size   0 (0%)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4047 для плагииновых панелей:
   Если открыть в панели .7z-файл, содержащий внутри папки, стать на папку и нажать CtrlQ, показывает:
   Folders          0
   Files            0
   Files size       0
   Allocated size   0 (0%)

--------------------------------------------------------------------------------
drkns 2014-11-02 13:15:16+02:00 - build 4169

1. More corrections of 4167.

--------------------------------------------------------------------------------
drkns 2014-11-02 11:38:28+02:00 - build 4168

1. Correction of 4167.

--------------------------------------------------------------------------------
drkns 2014-11-02 00:53:53+02:00 - build 4167

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2014-11-02 00:38:57+02:00 - build 4166

1. Correction of 4164.2.

--------------------------------------------------------------------------------
svs 2014-10-30 09:39:35+03:00 - build 4165

1. SQLite 3.8.7.1

--------------------------------------------------------------------------------
drkns 2014-10-29 21:40:58+02:00 - build 4164

1. Do not crash if there is not enough memory to open a file in editor.

2. A couple of minor issues.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не падаем, если для открытия файла в редакторе не хватило памяти.

2. Пара мелочей.

--------------------------------------------------------------------------------
w17 2014-10-29 18:50:54+03:00 - build 4163

1. Show the number of the codepage in editor transcoding problems warning.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Показываем номер кодовой страницы в предупреждении о проблемах перекодирования в редакторе.

--------------------------------------------------------------------------------
w17 2014-10-28 16:39:44+03:00 - build 4162

1. FFILEEDIT_CODEPAGECHANGEDBYUSER/editor, CodePageChangedByUser/viewer are commented out.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. FFILEEDIT_CODEPAGECHANGEDBYUSER/editor, CodePageChangedByUser/viewer - атавизмы.

--------------------------------------------------------------------------------
w17 2014-10-28 10:06:51+03:00 - build 4161

1. Continuing 4150.

--------------------------------------------------------------------------------
w17 2014-10-27 12:45:51+03:00 - build 4160

1. Continuing 4150.

--------------------------------------------------------------------------------
zg 2014-10-26 16:39:00+02:00 - build 4159

1. removed original method of redrawing a window by sending it 'gotfocus'.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. убран оригинальный подход к перерисовке окна посылкой ему gotfocus.

--------------------------------------------------------------------------------
zg 2014-10-25 21:39:01+02:00 - build 4158

1. editor drawing optimization.

--------------------------------------------------------------------------------
w17 2014-10-25 21:18:26+04:00 - build 4157

1. Again 4150.

--------------------------------------------------------------------------------
zg 2014-10-25 18:45:48+02:00 - build 4156

1. excessive redrawing of edit controls is removed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. убрана лишняя перерисовка edit-control'ов.

--------------------------------------------------------------------------------
w17 2014-10-22 17:54:51+04:00 - build 4155

1. Another correction of 4150.

2. Capability of setting hte list of codepages when switching with F8 in editor/viewer.
   far:config Editor.F8CPs
   far:config Viewer.F8CPs
   The default empty line leaves the old ANSI/OEM behavior.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё одно уточнение 4150.

2. Можно задавать список кодовых страниц при переключении по F8 в редакторе/просмотрщике.
   far:config Editor.F8CPs
   far:config Viewer.F8CPs
   Умолчание пустая строка - оставляет старое поведение ANSI/OEM.

--------------------------------------------------------------------------------
drkns 2014-10-22 00:04:44+02:00 - build 4154

1. Correction of 4145.

--------------------------------------------------------------------------------
w17 2014-10-21 15:02:24+04:00 - build 4153

1. Correction of correction of 4150.

--------------------------------------------------------------------------------
w17 2014-10-21 14:25:48+04:00 - build 4152

1. Correction of 4150.

--------------------------------------------------------------------------------
drkns 2014-10-20 21:17:09+02:00 - build 4151

1. #0002841: FAR freeze

--------------------------------------------------------------------------------
w17 2014-10-20 14:12:09+04:00 - build 4150

1. File encoding change with reread in editor has to work via API.

2. On automatic recognition of file encoding in editor (ShiftF8)
   if the file contains only ASCII codes then the default codepage is substituted
   (or ACP if the default one is Unicode).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Смена кодировки файла с перечитыванием в редакторе должна работать через API.

2. При автоопределениии кодировки файла в редакторе (ShiftF8)
   если файл содержит только ASCII коды, подставляется умолчательная кодировка
   (или ACP, если умолчательная - юникод).

--------------------------------------------------------------------------------
shmuel 2014-10-20 00:54:08+02:00 - build 4149

1. M#2838: Glitches on display after macro completion.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2838: Артефакт на экране по окончании выполнения макроса.

--------------------------------------------------------------------------------
drkns 2014-10-19 08:47:14+02:00 - build 4148

1. Correction of 4145.

--------------------------------------------------------------------------------
zg 2014-10-19 03:03:18+02:00 - build 4147

1. some useless code is removed.

--------------------------------------------------------------------------------
zg 2014-10-19 02:28:21+02:00 - build 4146

1. again, tabulation and coloring problems in editor.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. очередные проблемы с табами и раскраской в редакторе.

--------------------------------------------------------------------------------
drkns 2014-10-19 00:25:12+02:00 - build 4145

1. Refactoring.

--------------------------------------------------------------------------------
zg 2014-10-19 00:10:02+02:00 - build 4144

1. correction of 4141.

2. an old bug, ECTL_GETINFO called from EE_REDRAW returned incorrect LeftPos.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4141.

2. древний баг, когда ECTL_GETINFO, вызванная из EE_REDRAW, возвращало некорректную LeftPos.

--------------------------------------------------------------------------------
svs 2014-10-18 11:00:19+04:00 - build 4143

1. SQLite 3.8.7

--------------------------------------------------------------------------------
w17 2014-10-18 06:15:54+03:00 - build 4142

1. correction of 4135

--------------------------------------------------------------------------------
zg 2014-10-18 02:39:46+02:00 - build 4141

1. 0002835: Glitches if the content is shifted to the left.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002835: Цветомузыка при сдвиге содержимого редактора влево.

--------------------------------------------------------------------------------
drkns 2014-10-17 23:22:14+02:00 - build 4140

1. #0002839: Incorrectly associated names of attributes

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. #0002839: Неправильно ассоциированы названия атрибутов

--------------------------------------------------------------------------------
zg 2014-10-17 14:01:23+02:00 - build 4139

1. correction of 4137.

--------------------------------------------------------------------------------
zg 2014-10-17 04:06:40+02:00 - build 4138

1. ACTL_GETWINDOWINFO returns all windows in current z-order.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. ACTL_GETWINDOWINFO возвращает все окна в порядке текущего z-order'а.

--------------------------------------------------------------------------------
zg 2014-10-17 03:27:45+02:00 - build 4137

1. correction of 4134: copy-paste is removed, all highlighting areas are actually deleted.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4134: убрана копипаста и удаляются реально все цветовые области.

--------------------------------------------------------------------------------
zg 2014-10-17 01:30:31+02:00 - build 4136

1. if an already opened file was being opened in editor from search then the qeuery was displayed incorrectly.

2. gcc warning.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. при открытии уже открытого файла в редакторе из поиска запрос выводился некорректно.

2. gcc warning.

--------------------------------------------------------------------------------
w17 2014-10-16 02:20:55+03:00 - build 4135

1. M#2829: Empty screen in viewer wnhen the file is rewritten

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2829: Пустой экран в вьювере при перезаписи файла

--------------------------------------------------------------------------------
shmuel 2014-10-16 00:05:23+02:00 - build 4134

1. ECF_AUTODELETE flag is added. If EditorControl(ECTL_ADDCOLOR) function has set the flag,
   then the added highlighting region will be deleted by FAR automatically right before next
   EE_REDRAW event sent to plugins.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Добавлен флаг ECF_AUTODELETE. Если функция EditorControl(ECTL_ADDCOLOR) выставила данный флаг,
   то добавляемая цветовая область будет автоматически удалена Фаром непосредственно перед очередной
   посылкой плагинам события EE_REDRAW.

--------------------------------------------------------------------------------
drkns 2014-10-14 22:24:10+02:00 - build 4133

1. Incorrect error code displayed on tree3.far writing failure.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При неудаче записи в tree3.far показывался некорректный код ошибки.

--------------------------------------------------------------------------------
drkns 2014-10-13 19:25:09+02:00 - build 4132

1. Forum: "Starting from 4062, the performance of regular expressions execution has decreased significantly."

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: "Начиная с билда 4062 скорость исполнения регулярок заметно упала."

--------------------------------------------------------------------------------
drkns 2014-10-11 19:53:46+02:00 - build 4131

1. #0002827: The size of groups list does not decrease after deletion of file highlighting groups

2. Attribures in panels, dialogs, search results and filter menu follow now in the same order.

3. Configuration of search result columns worked incorrectly.

4. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. #0002827: При удалении групп раскраски файлов размер списка групп не уменьшается

2. Атрибуты в панелях, диалогах, результатах поиска и меню фильтров теперь в одном и том же порядке.

3. Неадекватно работала настройка колонок в результатах поиска.

4. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2014-10-09 01:53:12+02:00 - build 4130

1. Correction of 4129.

2. Remove unused code.

--------------------------------------------------------------------------------
drkns 2014-10-08 19:55:41+02:00 - build 4129

1. #0002781: Exception under VS2013 debugger

2. GCC warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. #0002781: Exception при работе под отладчиком VS2013

2. GCC warnings.

--------------------------------------------------------------------------------
drkns 2014-10-08 09:50:10+02:00 - build 4128

1. #0002824: Assertion: list iterator not decrementable

--------------------------------------------------------------------------------
drkns 2014-10-01 20:07:16+02:00 - build 4127

1. Another couple of corrections in Message.

2. Refactoring.

--------------------------------------------------------------------------------
drkns 2014-09-30 23:55:34+02:00 - build 4126

1. Continuation of 4125.

2. Correction of 4122.1.

--------------------------------------------------------------------------------
drkns 2014-09-30 21:08:57+02:00 - build 4125

1. 0002811: Broken Message with FMSG_ALLINONE flag

--------------------------------------------------------------------------------
drkns 2014-09-29 21:27:31+02:00 - build 4124

1. Correction of 4122.1

--------------------------------------------------------------------------------
drkns 2014-09-29 14:09:13+02:00 - build 4123

1. Flags support is added to external DialogBuilder.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Во внешний DialogBuilder добавлена поддержка флагов.

--------------------------------------------------------------------------------
drkns 2014-09-27 15:33:27+02:00 - build 4122

1. Support for additional buttons is added to external DialogBuilder.

2. Support for lists is added to internal DialogBuilder.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Во внешний DialogBuilder добавлена поддержка дополнительных кнопок.

2. Во внутренний DialogBuilder добавлена поддержка списков.

--------------------------------------------------------------------------------
drkns 2014-09-27 14:25:43+02:00 - build 4121

1. Continuation of 4120.

--------------------------------------------------------------------------------
drkns 2014-09-26 19:23:14+02:00 - build 4120

1. Refactoring of Message: separate lines from buttons.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг Message: строки отдельно, кнопки отдельно.

--------------------------------------------------------------------------------
drkns 2014-09-22 19:59:11+02:00 - build 4119

1. Forum: Broken addition of a file from a panel to the command line if autocompletion is active in the command line.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: Отвалилось добавление файла из панели в командную строку при открытом автодополнении в командной строке.

--------------------------------------------------------------------------------
drkns 2014-09-22 19:21:31+02:00 - build 4118

1. #0002804: PN_CHECKMASK does not recognize incorrect regular expressions in 3.0.4117

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. #0002804: PN_CHECKMASK не распознает неправильные регексы в 3.0.4117

--------------------------------------------------------------------------------
drkns 2014-09-21 15:58:34+02:00 - build 4117

1. Optimization of make_vector.

--------------------------------------------------------------------------------
zg 2014-09-21 13:35:14+02:00 - build 4116

1. correction of 4109.2: crash on viewer open if there was info panel opened in panels on a folder
   with no description, or a quick view for a folder.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4109.2: открытие просмотра падало, если в панелях была открыта информационная панель
   в папке без описания или быстрый просмотр для папки.

--------------------------------------------------------------------------------
drkns 2014-09-21 11:46:25+02:00 - build 4115

1. Macros for emulation of variadic templates are placed separately, improved and used instead of manual copy-pasting everywhere it is needed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Макросы для эмуляции variadic templates вынесены отдельно, улучшены и использованы вместо ручной копипасты везде, где нужно.

--------------------------------------------------------------------------------
drkns 2014-09-20 21:26:14+02:00 - build 4114

1. Continuation of 4112.

--------------------------------------------------------------------------------
drkns 2014-09-20 17:53:05+02:00 - build 4113

1. VC10 fix.

--------------------------------------------------------------------------------
drkns 2014-09-20 17:14:32+02:00 - build 4112

1. Correction of 4111.

2. Incorrect error position on regexp compilation.

3. Show text and position of regexp compilation error.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 4111.

2. Неправильно определялась позиция ошибки при компиляции регулярного выражения.

3. Показываем текст и позицию при ошибке компиляции регулярного выражения или работы с ним.

--------------------------------------------------------------------------------
drkns 2014-09-20 17:00:20+02:00 - build 4111

1. Named groups in regular expressions. Library level yet.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Именованные группы в регулярных выражениях. Пока только на уровне библиотеки.

--------------------------------------------------------------------------------
drkns 2014-09-19 23:47:55+02:00 - build 4110

1. Split common.hpp to components.

2. Build failure in gcc 4.8.1.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Разделим common.hpp на компоненты, а то совсем тёмный лес уже.

2. Не собиралось в gcc 4.8.1.

--------------------------------------------------------------------------------
zg 2014-09-19 02:15:54+02:00 - build 4109

1. VE_CLOSE is sent to quick view and info panel before the viewer is deleted.

2. viewer and editor are not deleted during processing of all events.

3. events from inactive editors and viewers could be lost before been received by plugins.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. VE_CLOSE приходит в быстрый просмотр и информационную панель до удаления просмотра.

2. просмотр и редактор не удаляются во время обработки любых событий.

3. события от неактивных редакторов и просмотров могли не доходить до плагинов.

--------------------------------------------------------------------------------
drkns 2014-09-19 01:29:27+02:00 - build 4108

1. Somewhere between 4008 and 4012 the regular expressions were slightly broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Где-то между 4008 и 4012 немного погнулись регексы.

--------------------------------------------------------------------------------
drkns 2014-09-16 23:49:54+02:00 - build 4107

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2014-09-14 18:38:33+02:00 - build 4106

1. Asynchronous DB service thread handles were not closed in time and could accumulate endlessly.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Хендлы потоков асинхронной работы с БД закрывались не вовремя и могли накапливаться в неограниченном количестве.

--------------------------------------------------------------------------------
drkns 2014-09-14 14:42:05+02:00 - build 4105

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2014-09-14 10:47:27+02:00 - build 4104

1. Correction of 4100.

--------------------------------------------------------------------------------
drkns 2014-09-14 02:11:01+02:00 - build 4103

1. Correction of 4101.

--------------------------------------------------------------------------------
zg 2014-09-14 01:46:47+02:00 - build 4102

1. correction of 4100: double DialogRun call.

2. on file reopen in editor, a window was deleted from the window manager which had not been added there previously.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4100: повторный вызов DialogRun.

2. при переоткрытии файла в редакторе, из менеджера окон удалялось окно, которое не было предварительно туда добавлено.

--------------------------------------------------------------------------------
drkns 2014-09-14 00:44:51+02:00 - build 4101

1. Correction of 4100.

--------------------------------------------------------------------------------
drkns 2014-09-13 22:50:49+02:00 - build 4100

1. Memory was not freed after unsuccessful switching from editor to viewer.
   There is no sense in adding another hack, so the window owner logic is redone.
   Now there is no windows on stack, no windows deleted by the manager, no manual setting of deletion method,
   no manual checking for creation success, no manual deletion on failures etc.
   Each window is a smart pointer and lives as long as needed.
   Bizarre bugs are possible as usual.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При неудачном переключении из редактора в просмотр не освобождалась память.
   Добавлять очередной костыль бессмысленно, поэтому логика владения окнами переделана.
   Теперь нет окон на стеке, окон, удаляемых менеджером, ручного задавания способа удаления,
   ручной проверки успешности создания, ручного удаления при неудачах и прочего цирка.
   Каждое окно - это умный указатель и живёт столько, сколько нужно.
   Возможны причудливые баги, как обычно.

--------------------------------------------------------------------------------
drkns 2014-09-12 00:57:26+02:00 - build 4099

1. Support for FILE_ATTRIBUTE_INTEGRITY_STREAM and FILE_ATTRIBUTE_NO_SCRUB_DATA attributes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 1. Добавлена поддержка атрибутов FILE_ATTRIBUTE_INTEGRITY_STREAM и FILE_ATTRIBUTE_NO_SCRUB_DATA.

--------------------------------------------------------------------------------
zg 2014-09-11 00:27:32+02:00 - build 4098

1. ViewerControl did not work for QuickView and Info panels if the real ViewerID was given.

2. correction of processing of VCTL_REDRAW and ECTL_REDRAW.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. ViewerControl при указании реального ViewerID не работал для QuickView и Info панелей.

2. уточнение в работе VCTL_REDRAW и ECTL_REDRAW.

--------------------------------------------------------------------------------
drkns 2014-09-11 00:07:10+02:00 - build 4097

1. All functions provided to plugins are marked as noexcept and wrapped into try/catch,
   because throwing exceptions outside does not lead to anything good.

2. A couple of issues.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Все предоставляемые плагинам функции помечены как noexcept и обернуты в try/catch,
   т. к. выбрасывание наружу исключений всё равно ни к чему хорошему привести не может.

2. Пара мелочей там же.

--------------------------------------------------------------------------------
drkns 2014-09-09 21:16:03+02:00 - build 4096

1. Correction of 4096.

--------------------------------------------------------------------------------
drkns 2014-09-09 18:04:46+02:00 - build 4095

1. Correction of 4072.1.

--------------------------------------------------------------------------------
zg 2014-09-09 00:56:39+02:00 - build 4094

1. fix for editor coloring problems when the left coordinate is not zero.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. исправлены проблемы раскраски редактора, если левая координата отлична от нуля.

--------------------------------------------------------------------------------
zg 2014-09-08 19:55:01+02:00 - build 4093

1. correction of 4090.

2. double check of modality is removed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4090.

2. убрана двойная проверка на модальность.

--------------------------------------------------------------------------------
zg 2014-09-08 15:12:38+02:00 - build 4092

1. forum: EE_CLOSE is not generated on F6 in the editor.

2. correction of 4091 for the clock.

3. refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. с форума: В редакторе после нажатия F6 не приходит EE_CLOSE.

2. уточнение 4091 для часов.

3. рефакторинг.

--------------------------------------------------------------------------------
zg 2014-09-08 13:10:44+02:00 - build 4091

1. when a window is redrawn, all windows above are also redrawn.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. при перерисовке окна перерисовывается не только оно, но и все окна, расположенные над ним.

--------------------------------------------------------------------------------
zg 2014-09-07 23:51:48+02:00 - build 4090

1. FAR crash on ACTL_SETCURRENTWINDOW call from plugins menu without consequent ACTL_COMMIT.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. при вызове ACTL_SETCURRENTWINDOW из меню плагинов в редакторе без последующего ACTL_COMMIT фар падал.

--------------------------------------------------------------------------------
zg 2014-09-07 22:53:05+02:00 - build 4089

1. forbiddance of starting a non-modal editor/viewer applies not only modal editor/viewer,
   but also any modal window.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. запрет на запуск немодального редактора/просмотра распространяется не только на модальный редактор/просмотр,
   но и на любое модальное окно.

--------------------------------------------------------------------------------
zg 2014-09-05 12:17:12+02:00 - build 4088

1. correction of 4083 for ACTL_GETWINDOWINFO.

--------------------------------------------------------------------------------
zg 2014-09-05 01:51:10+02:00 - build 4087

1. check for repeated adding of a window to the window manager.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. проверка на повторное добавление окна в оконный менеджер.

--------------------------------------------------------------------------------
zg 2014-09-04 23:56:47+02:00 - build 4086

1. correction of 4083: incorrect handling of f6 in editor/viewer.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4083: некорректно работала f6 в редакторе/просмотре.

--------------------------------------------------------------------------------
zg 2014-09-04 23:49:46+02:00 - build 4085

1. the current editor/viewer is now detected dynamically.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. текущий редактор/просмотр определяются динамически.

--------------------------------------------------------------------------------
zg 2014-09-04 12:52:38+02:00 - build 4084

1. all pure modal windows must now be inherited from Modal class.

2. correction of z-order for modal windows.

3. a typo.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. все чисто модальные окна теперь должны наследоваться от класса Modal.

2. уточнение z-order для модальных окон.

3. опечатка.

--------------------------------------------------------------------------------
zg 2014-09-04 04:07:18+02:00 - build 4083

1. non-modal windows have z-order now.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. немодальные окна имеют теперь z-order.

--------------------------------------------------------------------------------
zg 2014-09-03 23:18:26+02:00 - build 4082

1. correction of 4061.1.

--------------------------------------------------------------------------------
drkns 2014-09-03 21:57:15+02:00 - build 4081

1. A couple of issues.

--------------------------------------------------------------------------------
shmuel 2014-09-03 16:14:57+02:00 - build 4080

1. Continuation of 4077.

--------------------------------------------------------------------------------
shmuel 2014-09-03 12:14:17+02:00 - build 4079

1. Refactoring of 4077.

--------------------------------------------------------------------------------
drkns 2014-09-03 09:45:11+02:00 - build 4078

1. Correction of 4076.

--------------------------------------------------------------------------------
shmuel 2014-09-03 01:22:09+02:00 - build 4077

1. M#2705: Far.GetConfig (replaces Far.Cfg_Get).

--------------------------------------------------------------------------------
drkns 2014-09-03 00:57:03+02:00 - build 4076

1. Checks for copying upper than root are removed. Now this situation is treated as copying to the root. As a consequence:

2. 0002784: Crash on manual input of network folder address for copying.

3. Correction of path root extraction logic. It seems to be corrected everywhere, but there may be surprises.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Выкинуты проверки на копирование выше корня. Теперь подобная ситуация считается копированием в корень. Как следствие:

2. 0002784: Падение при ручном вводе адреса сетевой папки для копирования.

3. Уточнения логики извлечения корня пути. Вроде бы уточнил везде, но возможны неожиданности.

--------------------------------------------------------------------------------
drkns 2014-09-02 09:20:13+02:00 - build 4075

1. Correction of 4072.1.

--------------------------------------------------------------------------------
zg 2014-09-01 15:56:02+02:00 - build 4074

1. 0002786: Freeze on Far Manager close if some edited files have left opened.

2. unnecessary volatile is removed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002786: Мёртвое зависание при закрытии Far Manager если не были закрыты все редактируемые файлы.

2. убран ненужный volatile.

--------------------------------------------------------------------------------
drkns 2014-08-31 17:22:50+02:00 - build 4073

1. 0002785: Crash on attempt to call the archive creation dialog (shift+F1)

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002785: Падение при попытке вызвать диалог создания архива (shift+F1)

2. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2014-08-30 20:27:40+02:00 - build 4072

1. Refactoring.

2. Forum: the filename in viewer caption line is displayed without the full path.

3. Forum: cannot return to the end of the list with Ctrl-Shift-Tab.

4. Folder tree processed F5 incorrectly.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг.

2. С форума: в строке-заголовке вьювера имя файла отображается без полного пути.

3. С форума: по Ctrl-Shift-Tab нельзя вернуться в конец списка.

4. Дерево папок неадекватно реагировано на клавишу F5.

--------------------------------------------------------------------------------
drkns 2014-08-30 14:02:22+02:00 - build 4071

1. Continuing renamings: Frame is window now, because it actually is.

2. Refactoring.

3. 0002781: Exception under the VS2013 debugger

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжаем переименования: Frame теперь window, т. к. именно этим оно и является.

2. Рефакторинг.

3. 0002781: Exception при работе под отладчиком VS2013

--------------------------------------------------------------------------------
drkns 2014-08-27 22:20:03+02:00 - build 4070

1. Access rights getting/setting errors can now be skipped while copying.

2. On transcoding errors the editor was trying to reload a yet inexisting file.

3. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ошибки получения/установки прав доступа при копировании теперь можно пропускать.

2. При ошибках перекодирования редактор пытался перезагружать ещё не существующий файл.

3. Рефакторинг.

--------------------------------------------------------------------------------
shmuel 2014-08-27 21:21:19+02:00 - build 4069

1. Continuation of 4068.

--------------------------------------------------------------------------------
shmuel 2014-08-26 21:08:48+02:00 - build 4068

1. MCTL_LOADALL supports explicit definition of paths for macro files loading.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. MCTL_LOADALL поддерживает явное указание путей, с которых будут грузиться макрофайлы.

--------------------------------------------------------------------------------
drkns 2014-08-25 00:30:14+02:00 - build 4067

1. Correction of 4064.

--------------------------------------------------------------------------------
drkns 2014-08-24 18:51:17+02:00 - build 4066

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2014-08-23 22:57:24+02:00 - build 4065

1. Typo in 3542 which lead to invisibility of directories ".?" under some circumstances.

2. clang warning.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Опечатка в 3542, приводившая к невидимости каталогов вида ".?" при определённых обстоятельствах.

2. clang warning.

--------------------------------------------------------------------------------
drkns 2014-08-23 17:09:59+02:00 - build 4064

1. A big pack of renamings: get rid of name collisions and related warnings from analyzers and VS 14.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Большая пачка переименований: ибавляемся от перекрытий имён и связанных с этим предупреждений анализаторов и VS 14.

--------------------------------------------------------------------------------
svs 2014-08-21 15:07:45+04:00 - build 4063

1. SQLite 3.8.6

--------------------------------------------------------------------------------
drkns 2014-08-21 02:09:09+02:00 - build 4062

1. As it turned out, the current regex implementation is not thread safe.
   As a consequence, it could crash in a bizarre way if something was done during the search. Especially in debug.
   Trying to fix.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Как выяснилось, используемая реализация regex'ов не очень thread safe.
   Как следствие, всё могло причудливо падать, если во время поиска не ограничиваться созерцанием экрана. Особенно в дебаге.
   Попробуем исправить.

--------------------------------------------------------------------------------
zg 2014-08-21 01:26:03+02:00 - build 4061

1. Launch of modal windows is redone.

2. viewer is not removed during VE_GOTFOCUS/VE_KILLFOCUS processing.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. переделан запуск модальных окон.

2. просмотр не удаляется во время обработки VE_GOTFOCUS/VE_KILLFOCUS.

--------------------------------------------------------------------------------
drkns 2014-08-21 00:45:30+02:00 - build 4060

1. Remove some misconception from help.?pp.

2. Add some asserts and const-ness.

2. Other refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Выкинем немного недоразумений из help.?pp.

2. Добавим ассертов и константности.

2. Прочий рефакторинг.

--------------------------------------------------------------------------------
zg 2014-08-19 22:40:41+02:00 - build 4059

1. simplify setting the current macro area.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. упрощение установки текущей макрообласти.

--------------------------------------------------------------------------------
zg 2014-08-18 20:22:56+02:00 - build 4058

1. correction of 4011: regexp search crashed on (?=pattern) and (?!pattern).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4011: падал поиск регэкспов с (?=pattern) и (?!pattern).

--------------------------------------------------------------------------------
zg 2014-08-18 19:26:05+02:00 - build 4057

1. correction of 4053: when an incorrect (missing in the name) character is typed after a few correct characters
   then the fast search line is cleared.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4053: если после нескольких правильно набранных символов набрать один неправильный
   (отсутствующий в имени) - строка быстрого поиска очищается.

--------------------------------------------------------------------------------
zg 2014-08-17 23:36:15+02:00 - build 4056

1. crash on drawing the shadow of a dialog beyond the screen limits.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. падение при отрисовки тени диалога за пределами экрана.

--------------------------------------------------------------------------------
drkns 2014-08-17 21:15:50+02:00 - build 4055

1. The support for elevation getting the amount of full/free volume size.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Поддержка elevation при получении полного/свободного размера диска.

--------------------------------------------------------------------------------
drkns 2014-08-17 00:53:51+02:00 - build 4054

1. Correction of 4052.

--------------------------------------------------------------------------------
zg 2014-08-16 22:08:40+02:00 - build 4053

1. fast search in panels - the real window.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. быстрый поиск в панелях - честное окно.

--------------------------------------------------------------------------------
drkns 2014-08-16 20:39:09+02:00 - build 4052

1. Move the processing of unnecessary keys out of the window manager.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Вынесем из оконного менеджера обработку тех клавиш, которых там не должно быть по определению.

--------------------------------------------------------------------------------
drkns 2014-08-16 15:31:44+02:00 - build 4051

1. 0002763: Buffer scrolling function does not work with Numpad keys

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002763: Функция прокрутки буфера не работает с клавишами Numpad

--------------------------------------------------------------------------------
drkns 2014-08-16 15:25:55+02:00 - build 4050

1. 0002765: "functional key bar" is hidden in panels but shown on Ctrl-Alt-Shift.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002765: В панелях "functional key bar" скрыт, но по нажатию Ctrl-Alt-Shift проявляется.

--------------------------------------------------------------------------------
drkns 2014-08-16 15:16:54+02:00 - build 4049

1. 0002766: search does not work if a comma exists in the folder name.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002766: не работает поиск, если в имени папки встречается запятая.

--------------------------------------------------------------------------------
drkns 2014-08-16 15:00:36+02:00 - build 4048

1. Forum: a plugin exports a file via GetFiles on F4 key press but the file is not imported back after file save and exit from editor.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: плагин по F4 экспортирует файл по GetFiles, а после сохранения и выхода из редактора обратно файл не импортируется.

--------------------------------------------------------------------------------
drkns 2014-08-16 14:49:31+02:00 - build 4047

1. 0002768: Quick view – wrong plugin area

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002768: Быстрый просмотр – не та область плагинов

--------------------------------------------------------------------------------
drkns 2014-08-16 01:21:40+02:00 - build 4046

1. Refactoring.

--------------------------------------------------------------------------------
zg 2014-08-12 01:30:09+02:00 - build 4045

1. forum: MCTL_GETAREA in horizontal menu returns now MACROAREA_OTHER (instead of MACROAREA_MAINMENU).

2. refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. с форума: MCTL_GETAREA в горизонтальном меню теперь возвращает MACROAREA_OTHER (вместо MACROAREA_MAINMENU).

2. рефакторинг.

--------------------------------------------------------------------------------
drkns 2014-08-11 23:51:38+02:00 - build 4044

1. In /e and /v modes plugins got control before full initialization of the manager.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В режиме /e и /v плагины получали управление ещё до полной инициализации менеджера.

--------------------------------------------------------------------------------
drkns 2014-08-11 20:24:09+02:00 - build 4043

1. Continuation of 4039.

--------------------------------------------------------------------------------
drkns 2014-08-10 19:54:12+02:00 - build 4042

1. Continuation of 4040.

--------------------------------------------------------------------------------
drkns 2014-08-10 11:18:55+02:00 - build 4041

1. Continuation of 4039 and 4040.

--------------------------------------------------------------------------------
drkns 2014-08-10 00:47:12+02:00 - build 4040

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2014-08-09 17:31:49+02:00 - build 4039

1. Going on with the window system.
   Now the userscreen visible under panels is the separate window.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжаем трясти оконную систему.
   Теперь то, что видно под панелями (userscreen) - это отдельное окно.

2. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2014-08-06 18:59:06+02:00 - build 4038

1. Correction of 4036.

--------------------------------------------------------------------------------
drkns 2014-08-06 09:01:30+02:00 - build 4037

1. Forum: In 4036 the commands disappeared from screen which were invoked from the command line

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: В 4036 с экрана пропали комманды, запускаемые из ком. строки

--------------------------------------------------------------------------------
drkns 2014-08-05 22:59:59+02:00 - build 4036

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2014-08-04 19:57:16+02:00 - build 4035

1. More thorough error processing when starting a supplementary process with Elevation.

2. If the attributes dialog is shown for a drive letter then show the corresponding volume name.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Более тщательная обработка ошибок при запуске вспомогательного процесса в Elevation.

2. Если диалог атрибутов вызван для буквы диска, покажем имя соответствующего тома.

--------------------------------------------------------------------------------
drkns 2014-08-02 14:47:23+02:00 - build 4034

1. Information on DFS resources was not always displayed correctly.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В диалоге атрибутов не всегда отображалась информация для DFS-ресурсов.

--------------------------------------------------------------------------------
drkns 2014-08-01 21:36:24+02:00 - build 4033

1. 0002445: Copying of encrypted (EFS) files

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002445: Копирование зашифрованных (EFS) файлов

--------------------------------------------------------------------------------
drkns 2014-07-31 22:45:46+02:00 - build 4032

1. Cppcheck warnings.

--------------------------------------------------------------------------------
drkns 2014-07-31 00:18:41+02:00 - build 4031

1. More Clang.

--------------------------------------------------------------------------------
drkns 2014-07-30 21:07:46+02:00 - build 4030

1. Correction of 4018.2.

--------------------------------------------------------------------------------
drkns 2014-07-29 21:22:25+02:00 - build 4029

1. The first attempt of compilation with Clang. Of course it failed, but something revealed:
   - a couple of silly bugs in editor;
   - unused variables;
   - viewer search tried to replace \xffff with \0 in searched text for some reason.

2. A couple of minor issues.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Первая попытка компиляции в Clang. Естественно, не взлетело, но кое-что всплыло:
   - пара глупых багов в редакторе;
   - неиспользуемые переменные;
   - поиск во вьювере зачем-то пытался заменить в искомом \xffff на \0. Мало того, что сие прелэстно само по себе, так при этом ещё и падало.

2. Пара мелочей.

--------------------------------------------------------------------------------
drkns 2014-07-26 15:29:52+02:00 - build 4028

1. For the sake of abstract perfectness, compiling hook_wow64 as C++.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Из соображений абстрактного совершенства компилим hook_wow64 как C++.

--------------------------------------------------------------------------------
drkns 2014-07-25 23:09:46+02:00 - build 4027

1. Refactoring.

--------------------------------------------------------------------------------
zg 2014-07-25 13:55:39+02:00 - build 4026

1. correction of 4025 for ACTL_GETWINDOWTYPE.

2. correction of 4025 for the editor.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4025 для ACTL_GETWINDOWTYPE.

2. уточнение 4025 для редактора.

--------------------------------------------------------------------------------
zg 2014-07-25 12:40:09+02:00 - build 4025

1. correction of 3981.

--------------------------------------------------------------------------------
drkns 2014-07-24 23:19:41+02:00 - build 4024

1. On codepage detection, Unicode is selected only if the text is definitely unlike ASCII.
   This must decrease the number of false detections of Unicode (and thus increase the number of false detections of ASCII).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При определении кодовой страницы юникод выбирается только в том случае, если текст явно не похож на ASCII.
   Должно уменьшиться количество ложных определений юникода (а количество ложных определений ASCII, соответственно, вырасти).

--------------------------------------------------------------------------------
zg 2014-07-24 12:53:54+02:00 - build 4023

1. correction of 4020: activation of the last item in the horizontal menu with shift-f10 and activation of the menu with the mouse did not work.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4020: в горизонтальном меню не работала активация последнего пункта по shift-f10 и активация меню мышью.

--------------------------------------------------------------------------------
zg 2014-07-24 01:40:17+02:00 - build 4022

1. correction of 4020: do not show window list in the horizontal menu and the grabber.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 4020: не показываем список окон в горизонтальном меню и граббере.

--------------------------------------------------------------------------------
zg 2014-07-24 00:20:25+02:00 - build 4021

1. unused code removed in window manager.

--------------------------------------------------------------------------------
zg 2014-07-23 23:11:32+02:00 - build 4020

1. the horizontal menu and the grabber are now real windows.

2. Close the grabber on console resize insted of crashing.

3. gcc warning.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. горизонтальное меню и граббер - честные окна.

2. при изменении размеров консоли граббер закрывается. раньше падал.

3. gcc warning.

--------------------------------------------------------------------------------
drkns 2014-07-23 19:55:47+02:00 - build 4019

1. Built-in copy function buffer size is now 32 K instead of 64.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Размер буфера для встроенной функции копирования теперь 32 К, а не 64.

--------------------------------------------------------------------------------
drkns 2014-07-23 03:30:09+02:00 - build 4018

1. Correction of 3978.

2. Weird autobinding of hotkeys in menu. Could have missed something.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 3978.

2. В автоназначении горячих клавиш в меню творилась какая-то дичь. Не факт, что поправлено везде.

--------------------------------------------------------------------------------
drkns 2014-07-22 23:18:52+02:00 - build 4017

1. Continuation of 4015:
   - restore attempts of stack overflow handling.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 4015:
   - восстановим попытки обработать переполнение стека.

--------------------------------------------------------------------------------
drkns 2014-07-22 20:15:47+02:00 - build 4016

1. 0002741: ECTL_CLEARSESSIONBOOKMARKS causes a crash

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002741: ECTL_CLEARSESSIONBOOKMARKS приводит к падению

--------------------------------------------------------------------------------
drkns 2014-07-22 01:04:14+02:00 - build 4015

1. Exception mix:
   - handle std::exception when calling plugins
   - invoking the debugger worked incorrectly
   - refactoring

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Exception mix:
   - обрабатываем std::exception при вызове плагинов
   - неправильно работал вызов отладчика
   - рефакторинг

--------------------------------------------------------------------------------
drkns 2014-07-21 21:28:10+02:00 - build 4014

1. One more homemade linked list down.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Минус ещё один самодельный список.

--------------------------------------------------------------------------------
svs 2014-07-21 11:49:01+04:00 - build 4013

1. Mantis#0002743: ECTL_SETTITLE lacks matching ECTL_GETTITLE
     ECTL_GETTITLE
     Get editor caption.
     Param1 - buffer size in characters, allocated by the plugin for the data.
     Param2 points to a buffer allocated by the plugin for the editor caption.
     The function returns required buffer size in characters, including trailing zero.
     If Param2 = NULL, or Param1 is less than the required size, the function just returns the required size.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002743: Не хватает ECTL_GETTITLE в дополнение к ECTL_SETTITLE
     ECTL_GETTITLE
     Получить заголовок редактора.
     Param1 - размер буфера в символах, который выделил плагин для данных.
     Param2 указывает на буфер, выделенный плагином, куда будет помещен заголовок редактора.
     Функция возвращает требуемый размер буфера в символах, с учетом завершающего нуля.
     Если Param2 = NULL или Param1 меньше требуемого размера, функция просто вернет необходимый размер буфера.

--------------------------------------------------------------------------------
zg 2014-07-20 23:32:48+02:00 - build 4012

1. correction of 4003.

--------------------------------------------------------------------------------
drkns 2014-07-20 21:59:46+02:00 - build 4011

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2014-07-19 20:04:59+02:00 - build 4010

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2014-07-19 13:01:14+02:00 - build 4009

1. Correction of std::make_unique emulation: parameters were passed by value.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение эмуляции std::make_unique: параметры передавались по значению.

--------------------------------------------------------------------------------
zg 2014-07-18 01:59:14+02:00 - build 4008

1. correction of 4006.

--------------------------------------------------------------------------------
drkns 2014-07-18 01:49:25+02:00 - build 4007

1. Obtaining of bookmarks did not work in editor. For a long time already.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не работало получение закладок в редакторе. И уже давно.

--------------------------------------------------------------------------------
zg 2014-07-18 01:06:52+02:00 - build 4006

1. on editor close inside EE_READ event, the editor is deleted only after this event processing finished.

2. on viewer close inside EE_READ event, the viewer is deleted only after this event processing finished.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. при удалении редактора внутри события EE_READ, редактор удаляется только после окончания обработки этого события.

2. при удалении просмотра внутри события VE_READ, просмотр удаляется только после окончания обработки этого события.

--------------------------------------------------------------------------------
zg 2014-07-17 02:44:33+02:00 - build 4005

1. 0002734: Dialogs broken.
   an ancient bug is revealed: on inactive window close the active window disappears.

2. editor and viewer could corrupt the memory under certain conditions.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002734: Сломали диалоги.
   вылез древний баг: при удалении неактивного окна, активное окно исчезает.

2. редактор и просмотр при определённых условиях могли портить память.

--------------------------------------------------------------------------------
shmuel 2014-07-16 18:15:38+02:00 - build 4004

1. Addition to LuaMacro plugin's access to the screen buffer.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Дополнение доступа плагина LuaMacro к буферу экрана.

--------------------------------------------------------------------------------
zg 2014-07-16 01:13:27+02:00 - build 4003

1. forum: incorrect console caption when calling the macrobrowser via Plugin.Menu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. с форума: некоректный заголовок консоли при вызове macrobrowser'а через Plugin.Menu.

--------------------------------------------------------------------------------
zg 2014-07-15 21:39:44+02:00 - build 4002

1. forum: crash in ACTL_GETWINDOWINFO.

--------------------------------------------------------------------------------
shmuel 2014-07-14 20:56:15+02:00 - build 4001

1. Plugin.Menu(), Plugin.Config() and Plugin.Command() return false on failure.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Plugin.Menu(), Plugin.Config() и Plugin.Command() возвращают false при неудаче.

--------------------------------------------------------------------------------
drkns 2014-07-14 14:39:33+02:00 - build 4000

1. 0002709: Query for administrator privileges may be invisible if called from a macro

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002709: Запрос привилегий администратора может быть невидим если вызван макросом

--------------------------------------------------------------------------------
zg 2014-07-13 14:50:01+02:00 - build 3999

1. correction of 3992: dialogs were shown onlyl one time after creation.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 3992: диалоги показывались только один раз после создания.

--------------------------------------------------------------------------------
drkns 2014-07-13 14:24:22+02:00 - build 3998

1. Interface.FormatNumberSeparators option now has string type.

2. SmallerTypeCheck is switched on in debug build.

3. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Опция Interface.FormatNumberSeparators теперь имеет строковый тип.

2. В отладочном билде включен SmallerTypeCheck.

3. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2014-07-12 20:33:45+02:00 - build 3997

1. Correction of 3996 and a couple of issues.

--------------------------------------------------------------------------------
drkns 2014-07-12 14:18:49+02:00 - build 3996

1. /set:<parameter>=<value> option is added which allows for redefinition of main settings (see far:config).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Добавлена опция /set:<parameter>=<value>, позволяющая переопределять основные настройки (см. far:config).

--------------------------------------------------------------------------------
drkns 2014-07-12 09:45:28+02:00

1. Support for lists in external DialogBuilder.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Во внешний DialogBuilder добавлена поддержка списков.

--------------------------------------------------------------------------------
zg 2014-07-11 22:11:38+02:00 - build 3995

1. correction of 3993: EE_READ was not called in viewer if it was opened with +/-.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 3993: при переходе по +/- в просмотре не вызывался EE_READ.

--------------------------------------------------------------------------------
zg 2014-07-11 19:21:21+02:00 - build 3994

1. correction of 3981 for the horizontal menu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 3981 для горизонтального меню.

--------------------------------------------------------------------------------
zg 2014-07-10 22:54:11+02:00 - build 3993

1. VE_READ is called when the viewport is fully constructed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. VE_READ вызывается, когда окно просмотра полностью сконструировано.

--------------------------------------------------------------------------------
zg 2014-07-10 20:54:25+02:00 - build 3992

1. correction of 3981.

--------------------------------------------------------------------------------
zg 2014-07-10 15:49:53+02:00 - build 3991

1. correction of 3985: ECTL_GETINFO and ECTL_GETBOOKMARKS did not work in EE_CLOSE.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 3985: в EE_CLOSE не работали ECTL_GETINFO и ECTL_GETBOOKMARKS.

--------------------------------------------------------------------------------
zg 2014-07-10 13:54:25+02:00 - build 3990

1. on file reopen in editor a wrong frame could be closed. even panels could.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. при переоткрытии файла в редакторе мог удалятся не тот фрейм. вплоть до панелей.

--------------------------------------------------------------------------------
drkns 2014-07-10 09:14:35+02:00 - build 3989

1. An ancient bug, which revealed itself in recent crashes on exit:
   - do not close handles awaited by WaitForMultipleObjects.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Древний баг, но начал проявляться только при недавних падениях при выходе:
   - нельзя закрывать хендлы, которые кто-то ещё ждёт по WaitForMultipleObjects.

--------------------------------------------------------------------------------
zg 2014-07-10 03:05:00+02:00 - build 3988

1. correction of 3981: /v key did not work.

2. correction of 3986: crash on exit.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 3981: не работал ключ /v.

2. уточнение 3986: падение при выходе.

--------------------------------------------------------------------------------
drkns 2014-07-09 22:10:05+02:00 - build 3987

1. Refactoring.

--------------------------------------------------------------------------------
zg 2014-07-09 21:38:08+02:00 - build 3986

1. Rare crash during reopening a file in editor.

2. Sequential opening/closing of editor via API could hang.

3. correction of 3981.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. редкое падение при переоткрытии файла в редакторе.

2. зависание при последовательном открытии/закрытии редактора через апи.

3. уточнение 3981.

--------------------------------------------------------------------------------
zg 2014-07-09 15:36:33+02:00 - build 3985

1. forum: "ACTL_GETWINDOWTYPE and ACTL_GETWINDOWINFO don't work when called from EE_CLOSE/VE_CLOSE".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. с форума "ACTL_GETWINDOWTYPE и ACTL_GETWINDOWINFO не работают, будучи вызваны из EE_CLOSE/VE_CLOSE".

--------------------------------------------------------------------------------
zg 2014-07-09 12:47:11+02:00 - build 3984

1. correction of 3981: sometimes on windows close other unexpected windows were activated.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 3981: иногда при закрытии одних окон активировались не те окна, которые ожидались.

--------------------------------------------------------------------------------
drkns 2014-07-09 00:54:24+02:00 - build 3983

1. Refactoring.

--------------------------------------------------------------------------------
zg 2014-07-08 21:06:45+02:00 - build 3982

1. correction of 3981.

--------------------------------------------------------------------------------
zg 2014-07-08 13:53:39+02:00 - build 3981

1. refactoring of window manager. now there is a common queue for messages.
   with the queue now one can run any code asynchronously.
   an example can be found in implementation of EE_READ.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. рефакторинг оконного менеджера. теперь есть общая очередь сообщений.
   используя очередь сообщений теперь можно выполнять любой код асинхронно.
   пример - в реализации EE_READ.

--------------------------------------------------------------------------------
svs 2014-07-07 13:58:08+04:00 - build 3980

1. EMenu was always called with OPEN_LEFTDISKMENU

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. EMenu всегда вызывался с OPEN_LEFTDISKMENU

--------------------------------------------------------------------------------
drkns 2014-07-06 15:24:29+02:00 - build 3979

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2014-07-04 22:46:04+02:00 - build 3978

1. Inner utf8 -> utf16 convertor processed 4-byte characters incorrectly.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Внутренний конвертер utf8 -> utf16 некорректно преобразовывал 4-байтные символы.

--------------------------------------------------------------------------------
drkns 2014-07-03 19:16:23+02:00 - build 3977

1. Correction of 3869.

--------------------------------------------------------------------------------
drkns 2014-07-03 00:19:44+02:00 - build 3976

1. Support for combined lists in DialogBuilder.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Во внешний DialogBuilder добавлена поддержка комбинированных списков.

--------------------------------------------------------------------------------
drkns 2014-07-02 23:55:43+02:00 - build 3975

1. Interface of Thread class is brought slightly closer to standard: now it accepts anything, not only uint(void*).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Интерфейс класса Thread немного приближен к стандартному: теперь туда можно пихать что угодно, а не только uint(void*).

--------------------------------------------------------------------------------
drkns 2014-07-01 19:49:09+02:00 - build 3974

1. Continuation of 3970, a couple of issues.

--------------------------------------------------------------------------------
drkns 2014-07-01 15:43:01+02:00 - build 3973

1. Continuation of 3970. Initialization of imports on demand.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 3970. Инициализируем импорты не сразу, а когда надо.

--------------------------------------------------------------------------------
drkns 2014-07-01 12:29:19+02:00 - build 3972

1. Continuation of 3970.

--------------------------------------------------------------------------------
drkns 2014-07-01 00:43:59+02:00 - build 3971

1. VS14 presumes that %s is char* which is technically correct but breaks everything.
   A good reason for wiping *printf, and for now let's define _CRT_STDIO_LEGACY_WIDE_SPECIFIERS.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. VS14 по умолчанию считает, что %s - это char*, что, в принципе, правильно, но всё ломает.
   Хороший повод окончательно вычистить *printf, а пока определим _CRT_STDIO_LEGACY_WIDE_SPECIFIERS.

--------------------------------------------------------------------------------
drkns 2014-06-30 19:07:38+02:00 - build 3970

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2014-06-29 19:09:47+02:00 - build 3969

1. Refactoring.

2. Removed unused code from tvar.?pp.

--------------------------------------------------------------------------------
zg 2014-06-29 16:27:02+02:00 - build 3968

1. 0002723: ECTL_GETINFO does not work when invoking an editor from an editor

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002723: ECTL_GETINFO не работает при вызове редактора из редактора

--------------------------------------------------------------------------------
drkns 2014-06-28 02:43:22+02:00 - build 3967

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2014-06-27 19:53:08+02:00 - build 3966

1. Restore broken GCC build.

2. GCC warning.

3. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Восстановим поломанный GCC билд.

2. GCC warning.

3. Рефакторинг.

--------------------------------------------------------------------------------
svs 2014-06-26 14:23:24+04:00 - build 3965

1. Mantis#0002692: No way to cancel an operation launched from a macro
   Rollback of build 3963 until better times. Bugs spotted.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002692: Невозможно прервать операцию, если она запущена из макроса
   Откат build 3963 до лучших времен. Жуки вылезли.

--------------------------------------------------------------------------------
w17 2014-06-26 00:16:21+04:00 - build 3964

1. Another correction of 3956.
   It still does not work via Plugin API.

2. M#2540: Viewer Search always starts from the beginning of the file
   INCOMPLETED!

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё уточнение 3956.
   Через Plugin API пока не работает.

2. M#2540: Viewer Search always starts from the beginning of the file
   НЕЗАВЕРШЕНО!

--------------------------------------------------------------------------------
svs 2014-06-25 11:17:19+04:00 - build 3963

1. Mantis#0002692: No way to cancel an operation launched from a macro
   Let's comment it and watch.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002692: Невозможно прервать операцию, если она запущена из макроса
   Закомметим и посмотрим.

--------------------------------------------------------------------------------
w17 2014-06-25 00:16:56+04:00 - build 3962

1. Correction of 3960.

--------------------------------------------------------------------------------
drkns 2014-06-24 19:41:46+02:00 - build 3961

1. Correction of 3958.

--------------------------------------------------------------------------------
w17 2014-06-24 20:02:53+04:00 - build 3960

1. M#2706: Errors not processed while converting to UTF-7

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2706: При конвертировании в UTF-7 не обрабатываются ошибки

--------------------------------------------------------------------------------
w17 2014-06-23 14:41:05+04:00 - build 3959

1. Correction of 3956.

--------------------------------------------------------------------------------
drkns 2014-06-21 15:51:25+02:00 - build 3958

1. On launch via 'Far.exe /p%FARPROFILE%\Plugins' the plugins were not loaded.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При запуске по Far.exe /p%FARPROFILE%\Plugins не загружались плагины.

--------------------------------------------------------------------------------
drkns 2014-06-20 20:12:27+02:00 - build 3957

1. If the plugin panel contains items with FILE_ATTRIBUTE_REPARSE_POINT attributes, treat them as symlinks.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Если плагин содержит на своей панели объекты с атрибутом FILE_ATTRIBUTE_REPARSE_POINT - считаем, что это симлинки.

--------------------------------------------------------------------------------
w17 2014-06-20 13:46:02+04:00 - build 3956

1. Experimental. M#2684: A possibility of changing the codepage on file reread

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Experimental. M#2684: Возможность смены кодировки путём перечитывания файла

--------------------------------------------------------------------------------
drkns 2014-06-19 09:33:50+02:00 - build 3955

1. A potential problem in SyncedQueue and a couple of fixes in Thread and MultiWaiter in order to improve readability.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Потенциальная проблема в SyncedQueue и пара мелочей в Thread и MultiWaiter для улучшения читаемости.

--------------------------------------------------------------------------------
drkns 2014-06-19 08:46:39+02:00 - build 3954

1. In 3842, launcher failed in some cases.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В 3842 погнулся запускатель в некоторых хитрых случаях.

--------------------------------------------------------------------------------
zg 2014-06-18 10:56:30+02:00 - build 3953

1. after 3895, alt-d did not work in editor.

--------------------------------------------------------------------------------
w17 2014-06-16 23:43:57+04:00 - build 3952

1. M#2708: Regexp "^(.*?\-\-)" != "^(.*?\-{2})"

--------------------------------------------------------------------------------
shmuel 2014-06-10 11:38:11+02:00 - build 3951

1. Correction of 3949.

--------------------------------------------------------------------------------
shmuel 2014-06-10 00:45:54+02:00 - build 3950

1. When LuaMacro plugin was unloaded due to an exception the manual macro recording was not disabled immediately.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При выгрузке плагина LuaMacro в результате exception ручная запись макросов запрещалась не сразу.

--------------------------------------------------------------------------------
drkns 2014-06-09 22:12:24+02:00 - build 3949

1. Support for VS 14 (CTP), with warnings so far.

--------------------------------------------------------------------------------
shmuel 2014-06-08 22:47:12+02:00 - build 3948

1. Minor refactoring.

--------------------------------------------------------------------------------
svs 2014-06-07 11:16:01+04:00 - build 3947

1. SQLite 3.8.5

--------------------------------------------------------------------------------
shmuel 2014-06-06 21:35:19+02:00 - build 3946

1. Minor refactoring.

--------------------------------------------------------------------------------
drkns 2014-06-06 19:00:44+02:00 - build 3945

1. far:ver -> far:about

--------------------------------------------------------------------------------
shmuel 2014-06-06 16:21:30+02:00 - build 3944

1. far /m disables initial loading of macros only, later the macros can be
   loaded in any possible manner.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Запуск Фара far /m запрещает только начальную загрузку макросов, в дальнейшем макросы могут быть
   загружены любым из известных способов.

--------------------------------------------------------------------------------
w17 2014-06-06 12:37:17+04:00 - build 3943

1. ver -> far:ver

--------------------------------------------------------------------------------
drkns 2014-06-05 20:51:49+02:00 - build 3942

1. Forum: error of autofilter creation, if the name of a file contains ,;

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: ошибка создания автофильтра, если в имени файла присутствовали символы ,;

--------------------------------------------------------------------------------
w17 2014-06-05 16:23:29+04:00 - build 3941

1. M#2250: Text in 1251 is not shown in an UTF8 file
   The codepage can be changed on file open, if the current codepage does not allow the file be shown without loss of information.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2250: Непоказ текста в 1251 внутри файла в UTF8
   Можно сменить кодировку при открытии файла, если в текущей файл не может быть открыт без потерь.

--------------------------------------------------------------------------------
drkns 2014-06-05 01:06:34+02:00 - build 3940

1. FAR crash while deleting a custom panel view mode, if it was set on a passive panel.

2. Also, CtrlShiftEnter is added - set view mode of a passive panel.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Падение фара при удалении кастомного panel view mode, если он был установлен на пассивной панели.

2. Туда же добавлено конпкосочетание CtrlShiftEnter - установить режим на пассивной панели.

--------------------------------------------------------------------------------
drkns 2014-06-04 20:11:04+02:00 - build 3939

1. And more.

--------------------------------------------------------------------------------
shmuel 2014-06-04 13:52:16+02:00 - build 3938

1. Correction of 3925.

--------------------------------------------------------------------------------
drkns 2014-06-03 17:35:54+02:00 - build 3937

1. Another couple of bugs in 3934.

--------------------------------------------------------------------------------
drkns 2014-06-03 09:15:51+02:00 - build 3936

1. A couple of bugs in 3934.

--------------------------------------------------------------------------------
drkns 2014-06-03 03:21:08+02:00 - build 3935

1. GCC.

--------------------------------------------------------------------------------
drkns 2014-06-03 02:42:03+02:00 - build 3934

1. Random refactoring.

2. Far processes 'ver' command showing its own version, versions of used libraries and installed plugins.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рандомный рефакторинг.

2. Far обрабатывает команду 'ver', отображая свою версию, версии используемых библиотек и установленных плагинов.

--------------------------------------------------------------------------------
drkns 2014-06-03 02:16:43+02:00 - build 3933

1. 0002687: Codepages menu: --Other-- separator disappears

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002687: Меню кодировок: пропадает сепаратор --Other--

--------------------------------------------------------------------------------
shmuel 2014-06-02 18:15:07+02:00 - build 3932

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2014-06-02 00:17:53+02:00 - build 3931

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2014-05-31 17:30:49+02:00 - build 3930

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2014-05-30 23:19:36+02:00 - build 3929

1. Correction of 3925.

--------------------------------------------------------------------------------
shmuel 2014-05-30 21:32:26+02:00 - build 3928

1. Correction of 3925 (memory leak).

--------------------------------------------------------------------------------
shmuel 2014-05-29 13:38:28+02:00 - build 3927

1. Correction of 3825 (DI_FIXEDIT).

--------------------------------------------------------------------------------
shmuel 2014-05-28 16:10:23+02:00 - build 3926

1. Correction of 3925.

--------------------------------------------------------------------------------
shmuel 2014-05-28 13:00:02+02:00 - build 3925

1. Experimental: M#2674: Return of the panel handle when working from a macro.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Экспериментально: M#2674: Возврат хэндла панели при работе из макроса.

--------------------------------------------------------------------------------
shmuel 2014-05-26 20:22:56+02:00 - build 3924

1. Completion of refactoring started in 3896.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Завершение рефакторинга, начатого в 3896.

--------------------------------------------------------------------------------
shmuel 2014-05-26 18:44:24+02:00 - build 3923

1. Continuation of 3896.

--------------------------------------------------------------------------------
shmuel 2014-05-25 21:13:55+02:00 - build 3922

1. Continuation of 3896.

--------------------------------------------------------------------------------
shmuel 2014-05-25 18:15:52+02:00 - build 3921

1. Continuation of 3896.

--------------------------------------------------------------------------------
w17 2014-05-25 10:20:35+04:00 - build 3920

1. Another correction of 3913
   MLF_HOLDTARGET flag is added to plugin.h

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё уточнение 3913
   Добавлен флаг MLF_HOLDTARGET в plugin.h

--------------------------------------------------------------------------------
shmuel 2014-05-24 20:04:56+02:00 - build 3919

1. Fix for nested macros.

--------------------------------------------------------------------------------
shmuel 2014-05-24 17:25:47+02:00 - build 3918

1. Continuation of 3896.

--------------------------------------------------------------------------------
w17 2014-05-24 14:16:12+04:00 - build 3917

1. Correction of 3913

--------------------------------------------------------------------------------
drkns 2014-05-24 12:11:56+02:00 - build 3916

1. "Fix" symlinks back so far.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. "Починим" пока симлинки как было.

--------------------------------------------------------------------------------
drkns 2014-05-24 10:03:45+02:00 - build 3915

1. 0002686: Debug build crashes in editor

--------------------------------------------------------------------------------
shmuel 2014-05-23 19:52:03+02:00 - build 3914

1. Continuation of 3896.

--------------------------------------------------------------------------------
w17 2014-05-23 15:50:39+04:00 - build 3913

1. M#2675: Symlink is created only with an absolute path. There is no possibility of specifying a relative path

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2675: Symlink создается только с абсолютным путем. Нет возможности задать относительный путь

--------------------------------------------------------------------------------
shmuel 2014-05-23 01:44:13+02:00 - build 3912

1. Continuation of 3896.

--------------------------------------------------------------------------------
shmuel 2014-05-21 23:35:44+02:00 - build 3911

1. Continuation of 3896.

--------------------------------------------------------------------------------
shmuel 2014-05-21 18:07:34+02:00 - build 3910

1. Continuation of 3896.

--------------------------------------------------------------------------------
drkns 2014-05-18 17:19:57+02:00 - build 3909

1. Rollback of 3908.1 until better times.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Откат 3908.1 до лучших времён.

--------------------------------------------------------------------------------
drkns 2014-05-18 16:22:09+02:00 - build 3908

1. Refactoring. Move out of macro.hpp everything that we can get by without.

2. GCC warning.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг. Вынесем из macro.hpp всё, без чего там можно обойтись.

2. GCC warning.

--------------------------------------------------------------------------------
shmuel 2014-05-17 23:58:06+02:00 - build 3907

1. Continuation of 3896.

--------------------------------------------------------------------------------
drkns 2014-05-17 14:43:09+02:00 - build 3906

1. Crash after selection of black&white color scheme.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Падение при ввыборе черно-белой цветовой схемы.

--------------------------------------------------------------------------------
zg 2014-05-16 14:27:13+02:00 - build 3905

1. after 3895 selection keys did not work in the command line.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. после 3895 не работали клавиши выделения в комстроке.

--------------------------------------------------------------------------------
drkns 2014-05-15 23:57:23+02:00 - build 3904

1. The search can now figure out the appropriate codepage.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Поиcк теперь умеет сам решать, в какой кодировке надо искать текст. Слава роботам!

--------------------------------------------------------------------------------
drkns 2014-05-15 01:45:08+02:00 - build 3903

1. Correction of unicode text detection.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение детектирования юникодного текста.

--------------------------------------------------------------------------------
shmuel 2014-05-15 00:13:09+02:00 - build 3902

1. Continuation of 3896.

--------------------------------------------------------------------------------
shmuel 2014-05-14 01:10:59+02:00 - build 3901

1. Correction of 3896 (FAR crash under some circumstances).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 3896 (Фар падал при определённых обстоятельствах).

--------------------------------------------------------------------------------
shmuel 2014-05-13 17:28:47+02:00 - build 3900

1. In 3896 the Plugin.Call return value was broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В 3896 сломалось возвращаемое значение Plugin.Call.

--------------------------------------------------------------------------------
shmuel 2014-05-13 00:33:38+02:00 - build 3899

1. Continuation of 3896.

--------------------------------------------------------------------------------
shmuel 2014-05-12 16:14:04+02:00 - build 3898

1. In 3896 the Plugin.Menu return value was broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В 3896 сломалось возвращаемое значение Plugin.Menu.

--------------------------------------------------------------------------------
zg 2014-05-12 13:39:44+02:00 - build 3897

1. 0002672: Incorrect processing of the clipboard.
   if an empty string was inserted, the selection flag was set, meanwhile the selection itself wasn't.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002672: Неправильное поведение при работе с буфером обмена.
   при вставке пустой строки устанавливался признак наличия выделения, а само выделение - нет.

--------------------------------------------------------------------------------
shmuel 2014-05-12 13:05:51+02:00 - build 3896

1. Refactoring of macro system.

--------------------------------------------------------------------------------
zg 2014-05-09 00:19:23+02:00 - build 3895

1. refactoring of ProcessKey.

--------------------------------------------------------------------------------
svs 2014-05-08 20:34:04+04:00 - build 3894

1. Mantis#0002669: GUID for the menu of all occurrences

    EditorFindAllListId         = {9BD3E306-EFB8-4113-8405-E7BADE8F0A59}  --> Menu.Id
    Editor. List of all known occurrences (F7 <All>).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002669: Гуид для меню с результатами поиска всех вхождений

    EditorFindAllListId         = {9BD3E306-EFB8-4113-8405-E7BADE8F0A59}  --> Menu.Id
    Редактор. Список всех найденных вхождений (F7 <All>).

--------------------------------------------------------------------------------
w17 2014-05-08 16:17:06+04:00 - build 3893

1. M#2667: FAR crash on "[A-Z\\]+" regexp

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2667: Вылет FAR при использовании регэкспа "[A-Z\\]+"

--------------------------------------------------------------------------------
drkns 2014-05-07 00:00:37+02:00 - build 3892

1. Incorrect work of sorting by file extensions for files with ':' in names.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Неправильно работала сортировка по расширению файлов с ':' в имени (да, и такое бывает).

--------------------------------------------------------------------------------
drkns 2014-05-05 19:03:55+02:00 - build 3891

1. Correction of 3890.

--------------------------------------------------------------------------------
drkns 2014-05-05 18:52:24+02:00 - build 3890

1. "title" command added an excessive space to the caption.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Команда "title" добавляла лишний пробел в заголовок.

--------------------------------------------------------------------------------
svs 2014-05-05 16:48:11+04:00 - build 3889

1. Correction of build 3888
   1. Hide the panels.
   2. title[Enter] --> watch " - Far 3.0.3888 x86 Administrator" in caption, i.e. panel folder is not shown.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение build 3888
   1. Выключаем панели.
   2. title[Enter] --> в заголовке видим " - Far 3.0.3888 x86 Administrator", то-есть отсутствует показ папки панели.

--------------------------------------------------------------------------------
svs 2014-05-05 12:38:16+04:00 - build 3888

1. Mantis#0002523: 'title' command does not work with hodden panels

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002523: Команда title не отрабатывает при погашенных панелях

--------------------------------------------------------------------------------
shmuel 2014-05-04 02:08:54+02:00 - build 3887

1. Rollback of 3885.

--------------------------------------------------------------------------------
drkns 2014-05-03 19:13:31+02:00 - build 3886

1. Search by all codepages did not work in x64.

2. Codepages for search can be selected from the whole list.

3. Capability for search in files NOT containing the given text is added.

4. ADS search option moved to the main dialog.

5. CollectFiles hidden option is removed.

6. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Поиск по всем кодовым страницам не работал в x64.

2. Для поиска можно выбирать страницы из всего списка.

3. В поиск добавлена возможность поиска файлов, НЕ содержащих искомый текст.

4. Опция поиска в ADS перенесена в основной диалог.

5. Скрытая опция CollectFiles удалена.

6. Рефакторинг.

--------------------------------------------------------------------------------
shmuel 2014-05-03 17:51:18+02:00 - build 3885

1. Experimental:
   Before command line processing FAR passes it to LuaMacro plugin which calls global function
   ProcessFarCommandLine(CmdLine) if it exists. If it does not exist or if it returns
   false/nil/nothing then FAR continues command line processing. If a string is returned then FAR processes
   it as the new value of command line. If true is returned then further processing of command line by FAR is cancelled.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Экспериментально:
   Перед обработкой комстроки Фар передаёт её плагину LuaMacro, который вызывает глобальную функцию
   ProcessFarCommandLine(CmdLine), если таковая существует. Если функция не существует, либо возвращает
   false/nil/ничего, Фар продолжает обработку комстроки. Если возвращает стринг, то Фар обрабатывает
   его как новое значение комстроки. Если возвращает true, дальнейшая обработка комстроки Фаром не
   производится.

--------------------------------------------------------------------------------
zg 2014-05-02 03:16:49+02:00 - build 3884

1. rollback of 3883.

--------------------------------------------------------------------------------
zg 2014-05-01 12:28:01+02:00 - build 3883

1. 0002657: Incorrect functioning on change of the last line of a file from a plugin.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002657: Некорректная работа при изменении последней строки файла из плагина.

--------------------------------------------------------------------------------
svs 2014-04-28 16:43:42+04:00 - build 3882

1. For Mantis#2562.
   - mixture of ECC_* and XC_* is removed
   - XC_ALREADY_EXISTS, XC_OPEN_NEWINSTANCE and XC_RELOAD are added.
   - in FileEditor, correction of return codes depending on EF_OPENMODE_*
   - in API::Editor, new return codes have not been introduced yet (the MANTIS_0002562 macro is the limitation);
     there is probability of broken plugins ("archive" ones) which accept only EEC_OPEN_ERROR, EEC_MODIFIED and EEC_NOT_MODIFIED.
     (although... EEC_LOADING_INTERRUPTED is already "functioning" :-))

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. По мотивам Mantis#2562.
   - убрана помесь из ECC_* и XC_*
   - добавлены XC_ALREADY_EXISTS, XC_OPEN_NEWINSTANCE и XC_RELOAD.
   - в FileEditor уточнение по кодам возврата в зависимости от EF_OPENMODE_*
   - в API::Editor новые коды возврата пока не позиционируются (ограничены макросом MANTIS_0002562);
     есть вероятность поломки плагинов ("архивных"), которые ожидают только EEC_OPEN_ERROR, EEC_MODIFIED и EEC_NOT_MODIFIED.
     (хотя... EEC_LOADING_INTERRUPTED уже "в строю" :-))

--------------------------------------------------------------------------------
svs 2014-04-28 15:11:54+04:00 - build 3881

1. Mantis#0002663: Far crash when a modal dialog is shown from VE_Read viewer event handler
     FileViewer::Init(...NamesList *ViewNamesList,..)
     {
     ...
     (1) if (!View.OpenFile(strName,TRUE))
     ...
         if (ViewNamesList)
     (2)    View.SetNamesList(*ViewNamesList);

     At (1), ViewNamesList is still alive. At (2) it is already dead.
     Crash follows (that's natural, because "Editor" object is already destroyed)

2. Crash for DI_*BOX with X1==X2==0 and existing caption.
   Information for console caption is taken from the corresponding dialog item, as usual,
   but the text of such an item is not shown.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002663: Far падает, если показать модальный диалог из обработчика события viewer'а VE_Read
     FileViewer::Init(...NamesList *ViewNamesList,..)
     {
     ...
     (1) if (!View.OpenFile(strName,TRUE))
     ...
         if (ViewNamesList)
     (2)    View.SetNamesList(*ViewNamesList);

     В (1) ViewNamesList еще живой. В (2) уже мертвяк.
     После чего идет трап (что естественно, т.к. объект "Редактор" уже убит)

2. Трап, если в DI_*BOX указан X1==X2==0 и есть заголовок.
   Информация для заголовка консоли берется как обычно из соответствующего элементов диалога,
   но текст для такого элемента показан не будет.

--------------------------------------------------------------------------------
shmuel 2014-04-28 00:58:52+02:00 - build 3880

1. Correction of build 3770:
   lua:far.Show(...) showed one argument (nil) instead of none.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение build 3770:
   lua:far.Show(...) показывал один аргумент (nil), а должен показывать отсутствие аргументов.

--------------------------------------------------------------------------------
shmuel 2014-04-26 17:43:33+02:00 - build 3879

1. Continuation of 3878, docs updated:
   -- "language" flags in FARKEYMACROFLAGS (MacroSendMacroText, MacroAddMacro, MacroExecuteString structures).
   -- commands lm:post2 and lm:check2 in LuaMacro plugin.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 3878, документация обновлена:
   -- "языковые" флаги в FARKEYMACROFLAGS (структуры MacroSendMacroText, MacroAddMacro, MacroExecuteString).
   -- команды lm:post2 и lm:check2 в плагине LuaMacro.

--------------------------------------------------------------------------------
shmuel 2014-04-25 21:32:52+02:00 - build 3878

1. Support for MoonScript in plugins API (docs are not updated yet).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Поддержка MoonScript в API плагинов (документация ещё не обновлена).

--------------------------------------------------------------------------------
svs 2014-04-23 14:14:46+04:00 - build 3877

1. Attempt to leave a network share with .. to servers level invokes Emenu's context menu.
   http://forum.farmanager.com/viewtopic.php?p=118299#p118299

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При попытке выйти через .. из сетевой шары на уровень сервера получаю контекстное меню из Emenu.
   http://forum.farmanager.com/viewtopic.php?p=118299#p118299

--------------------------------------------------------------------------------
drkns 2014-04-22 22:16:51+02:00 - build 3876

1. Editor.FileSizeLimitHi parameter is removed.

2. GUIDs of luamacro, arclite, netbox moved to config.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Параметр Editor.FileSizeLimitHi удалён.

2. GUID'ы luamacro, arclite, netbox вынесены в конфиг.

--------------------------------------------------------------------------------
svs 2014-04-22 18:52:29+04:00 - build 3875

1. Mantis#0002651: TechInfo #52: Saved???/HistoryCount

2. Crash if the size of System.ShowStatusInfo configuration string is less than the number of sections in InfoPanel

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002651: TechInfo #52: Saved???/HistoryCount

2. Падение, если размер строки настройки System.ShowStatusInfo был меньше числа секций в InfoPanel

--------------------------------------------------------------------------------
drkns 2014-04-20 17:14:22+02:00 - build 3874

1. Refactoring.

--------------------------------------------------------------------------------
w17 2014-04-19 22:47:13+04:00 - build 3873

1. A bit more persistent persistent blocks in command line and dialog edit fields.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Немного более постоянные постоянные блоки в комстроке и полях ввода диалогов.

--------------------------------------------------------------------------------
w17 2014-04-18 13:07:22+04:00 - build 3872

1. M#1465: Command line/dialog editors do not take plugin-made selection into account

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#1465: Редакторы комстроки/диалога не учитывают выделение, установленное плагином

--------------------------------------------------------------------------------
drkns 2014-04-18 10:43:09+02:00 - build 3871

1. "Любимые кодовые страницы" -> "Избранные кодовые страницы".

--------------------------------------------------------------------------------
drkns 2014-04-17 20:06:46+02:00 - build 3870

1. In 3868, virtual and subst drives detach confirmations were broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В 3868 погнулись подтверждения отключения виртуальных и subst дисков.

--------------------------------------------------------------------------------
drkns 2014-04-17 19:24:04+02:00 - build 3869

1. More correct recognition of UTF8 / UTF16LE / UTF16BE.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Более корректное определение UTF8 / UTF16LE / UTF16BE.

--------------------------------------------------------------------------------
svs 2014-04-17 11:00:21+04:00 - build 3868

1. GUIDs

    DisconnectDriveId           = {A1BDBEB1-2911-41FF-BC08-EEBC44040B50}  --> Dlg.Id
    Dialog "Disconnect network drive" (Del on a network drive in drive selection menu).

    SUBSTDisconnectDriveId      = {75554EEB-A3A7-45FD-9795-4A85887A75A0}  --> Dlg.Id
    Dialog "Substituted disk deletion"

    VHDDisconnectDriveId        = {629A8CA6-25C6-498C-B3DD-0E18D1CC0BCD}  --> Dlg.Id
    Dialog "Virtual disk detaching"

    ChangeDriveModeId           = {F87F9351-6A80-4872-BEEE-96EF80C809FB}  --> Dlg.Id
    Dialog "Change Drive Menu Options"

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. GUID`ы

    DisconnectDriveId           = {A1BDBEB1-2911-41FF-BC08-EEBC44040B50}  --> Dlg.Id
    Диалог "Отключение сетевого устройства" (Del на сетевом диске в мен выбора дисков).

    SUBSTDisconnectDriveId      = {75554EEB-A3A7-45FD-9795-4A85887A75A0}  --> Dlg.Id
    Диалог "Отключение SUBST-диска"

    VHDDisconnectDriveId        = {629A8CA6-25C6-498C-B3DD-0E18D1CC0BCD}  --> Dlg.Id
    Диалог "Отключение VHD-диска"

    ChangeDriveModeId           = {F87F9351-6A80-4872-BEEE-96EF80C809FB}  --> Dlg.Id
    Диалог "Настройка меню выбора диска"

--------------------------------------------------------------------------------
drkns 2014-04-15 22:31:59+02:00 - build 3867

1. Transition with +/- in viewer was broken in 3857.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В 3857 немного погнулся переход по +/- во вьювере.

--------------------------------------------------------------------------------
svs 2014-04-15 12:37:20+04:00 - build 3866

1. Mantis#0002647: DM_SETFOCUS works incorrectly with presence of an item with DIF_NOFOCUS
    Before focus change, force DIF_FOCUS flag cleared for all items.

2. Mantis#0002608: Editor function: possiblility of the already loaded file is not always taken into account

    If the file is already opened, then repeated modal opening shows a message
    "already loaded. How to open this file?" with two buttons "{ New instance }" and "[ Cancel ]".
    API: from EF_OPENMODE_* modes, support only EF_OPENMODE_QUERY, EF_OPENMODE_NEWIFOPEN and
    EF_OPENMODE_BREAKIFOPEN (i.e. the buttons "New instance" and "Cancel").

    (partial solution so far)

3. GUIDs
    EditorReloadModalId         = {D6F557E8-7E89-4895-BD75-4D3F2C30E382}  --> Dlg.Id
    Editor. Warning dialog about repeated opening of already opened file in modal editor
    (for non-modal ones - GUID==EditorReloadId)

    EditorCanNotEditDirectoryId = {CCA2C4D0-8705-4FA1-9B10-C9E3C8F37A65}  --> Dlg.Id
    Editor. Warning on attempt of directory editing

    EditorFileLongId            = {E3AFCD2D-BDE5-4E92-82B6-87C6A7B78FB6}  --> Dlg.Id
    Editor. Warning on exceeding the size of the edited file (see Editor.FileSizeLimit and Editor.FileSizeLimitHi settings)

    EditorFileGetSizeErrorId    = {6AD4B317-C1ED-44C8-A76A-9146CA8AF984}  --> Dlg.Id
    Editor. Cannot get the size of the edited file (if Editor.FileSizeLimit and Editor.FileSizeLimitHi are set)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002647: DM_SETFOCUS работает неправильно в присутствии элемента с DIF_NOFOCUS
    Перед сменой фокуса принудительно очистим флаг DIF_FOCUS у всех элементов.

2. Mantis#0002608: функция Editor: не всегда учитывается что заданный файл уже может быть загружен

    Если файл уже открыт, то повторное открытие в модальном режиме сопровождается сообщением
    "already loaded. How to open this file?" и две кнопки "{ New instance }" и "[ Cancel ]".
    В АПИ: из режимов EF_OPENMODE_* поддерживать только EF_OPENMODE_QUERY, EF_OPENMODE_NEWIFOPEN и
    EF_OPENMODE_BREAKIFOPEN (т.е. те самые кнопки "New instance" и "Cancel").

    (пока частичное решение)

3. GUID`ы
    EditorReloadModalId         = {D6F557E8-7E89-4895-BD75-4D3F2C30E382}  --> Dlg.Id
    Редактор. Диалог-предупреждение переоткрытия открытого файла в модальном редакторе
    (у не модальных - GUID==EditorReloadId)

    EditorCanNotEditDirectoryId = {CCA2C4D0-8705-4FA1-9B10-C9E3C8F37A65}  --> Dlg.Id
    Редактор. Предупреждение о попытке редактировать каталог

    EditorFileLongId            = {E3AFCD2D-BDE5-4E92-82B6-87C6A7B78FB6}  --> Dlg.Id
    Редактор. Предупреждение о превышении размера редактируемого файла (см. настройку Editor.FileSizeLimit и Editor.FileSizeLimitHi)

    EditorFileGetSizeErrorId    = {6AD4B317-C1ED-44C8-A76A-9146CA8AF984}  --> Dlg.Id
    Редактор. Невозможно получить размер редактируемого файла (если заданы Editor.FileSizeLimit и Editor.FileSizeLimitHi)

--------------------------------------------------------------------------------
drkns 2014-04-13 12:41:13+02:00 - build 3865

1. Continuation of 0002645.

--------------------------------------------------------------------------------
drkns 2014-04-12 19:15:45+02:00 - build 3864

1. Continuation of 0002645.

2. EditorF7Rules option is removed for consistency.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 0002645.

2. Опция EditorF7Rules удалена во имя консистентности.

--------------------------------------------------------------------------------
drkns 2014-04-12 14:26:37+02:00 - build 3863

1. 0002591: Time is not set in file attributes dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002591: Не устанавливается время в диалоге атрибутов файла.

--------------------------------------------------------------------------------
drkns 2014-04-12 13:29:05+02:00 - build 3862

1. 0002645: Repeated search (ShiftF7) works incorrectly with "Cursor at end" option

2. 0002646: Repeated search (ShiftF7) moves the cursor if nothing is found

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002645: Повторный поиск (ShiftF7) работает неправильно с опцией "Cursor at end"

2. 0002646: Повторный поиск (ShiftF7), если ничего не найдено, сдвигает курсор

--------------------------------------------------------------------------------
zg 2014-04-11 16:02:53+02:00 - build 3861

1. gcc warnings.

--------------------------------------------------------------------------------
drkns 2014-04-11 08:32:40+02:00 - build 3860

1. Correction of 3859.1.

--------------------------------------------------------------------------------
drkns 2014-04-10 22:20:10+02:00 - build 3859

1. The number of !?<title>?<init>! constructions in user menu is now unlimited.

2. Also, Ok and Cancel buttons have been added.

3. In some cases data were written beyond the bounds of a buffer in input fields.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Количество конструкций !?<title>?<init>! в user menu теперь не ограничено.

2. Туда же добавлены кнопки Ok и Cancel.

3. В некоторых случаях в полях ввода производилась запись за границей буфера.

--------------------------------------------------------------------------------
drkns 2014-04-10 09:18:34+02:00 - build 3858

1. A typo in 3857.

--------------------------------------------------------------------------------
drkns 2014-04-09 22:19:59+02:00 - build 3857

1. If during file/directory deletion process someone had deleted it earlier, do not show errors like "file not found", consider the job done.

2. In viewer opened from the rewrite dialog, transition on Add/Subtract works.

3. In editor, reverse search did not work for "Cursor at end".

4. Debug target did not build - DN_ACTIVATEAPP was not removed completely in 3856.

5. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Если в процессе удаления файла/каталога кто-то удалил его раньше нас - не показываем ошибки типа "файл не найден", считаем работу выполненной.

2. Во вьювере, открытом из диалога перезаписи, работает переход по Add/Subtract.

3. В редакторе при "Cursor at end" не работал обратный поиск.

4. Не собиралась отладочная версия - в 3856 не до конца был вычищен DN_ACTIVATEAPP.

5. Рефакторинг.

--------------------------------------------------------------------------------
zg 2014-04-09 17:49:08+02:00 - build 3856

1. DN_ACTIVATEAPP is removed. use DN_INPUT+FOCUS_EVENT instead.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. DN_ACTIVATEAPP убрана. вместо неё давно есть DN_INPUT+FOCUS_EVENT.

--------------------------------------------------------------------------------
svs 2014-04-09 09:11:50+04:00 - build 3855

1. Mantis#0001722: excessive DN_EDITCHANGE with false information

   Details:

   1. On dialog start "this" editor line has FEDITLINE_CLEARFLAG flag set (gray characters).
      At the moment of a character entered (insertion of clearing of an input field) FEDITLINE_CLEARFLAG is reset and
      the line is cleared. The dialog procedure coniders it as "PtrData point to an empty line".
      Next DN_EDITCHANGE is passed with the same data that have been entered.

   2. unchanged _technically_ is like a selected text, the difference is that information (DN_EDITCHANGE)
      on a deleted block for the selected text is not sent to the dialog procedure.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001722: DN_EDITCHANGE приходит лишний раз и с ложной информацией

   Подробности:

   1. При старте диалога у "этой" строки редактирования выставлен флаг FEDITLINE_CLEARFLAG (серые буковки).
      В момент ввода символа (вставка или очистка поля ввода) идет сброс флага FEDITLINE_CLEARFLAG и
      очистка содержимого строки. Диалоговая процедура видит это как "PtrData указывает на пустую строку".
      Следом приходит второй DN_EDITCHANGE с теми данными, которые ввели.

   2. unchanged _технически_ похож на выбранный текст с той разницей, что информация (DN_EDITCHANGE)
      для выбранного текста  об удаленном блоке не поступает в диалоговую процедуру.

--------------------------------------------------------------------------------
svs 2014-04-07 16:26:57+04:00 - build 3854

1. Mantis#0001470: Edit-box: "Unchanged" state appears after it has been reset already

2. Mantis#0001464: Edit-controls - reset 'unchanged', if the plugin changes the cursor position
   'Unchanged' state is now reset also for DM_SETSELECTION and DM_SETCURSORPOS.

3. DN_ACTIVATEAPP "publishing".
   DN_ACTIVATEAPP event (0x3FFF/16383) is passed to the dialog procedure when Far Manager console window becomes active ot inactive.
   Param1 = 1 - the window got input focus
            0 - the window became inactive
   Param2 = 0
   Return = 0

4. Publishing some "ancient" flags from EDITOR_FLAGS (EF_OPENMODE_*)
    EF_OPENMODE_MASK         = 0x00000000F0000000ULL,
      Mask for EF_OPENMODE_*
    EF_OPENMODE_QUERY        = 0x0000000000000000ULL,
      Query user in case of the file open in editor
    EF_OPENMODE_NEWIFOPEN    = 0x0000000010000000ULL,
      Open the file in a new editor if it is already open
    EF_OPENMODE_USEEXISTING  = 0x0000000020000000ULL,
      Switch to a file opened in the editor
    EF_OPENMODE_BREAKIFOPEN  = 0x0000000030000000ULL,
      Cancel the file opening operation if it is opened in an editor
    EF_OPENMODE_RELOADIFOPEN = 0x0000000040000000ULL,
      Reopen the file if it is already opened in an editor.

   fileedit.hpp::FEOPMODEEXISTFILE are removed, EDITOR_FLAGS are used instead.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001470: Edit-box: состояние "Unchanged" появляется уже после того, как было сброшено

2. Mantis#0001464: Едит-контролы - сбрасывать unchanged, если плагин меняет позицию курсора
   Unchanged-состояние теперь сбрасывается так же для DM_SETSELECTION и DM_SETCURSORPOS.

3. DN_ACTIVATEAPP "публикуем".
   Событие DN_ACTIVATEAPP (0x3FFF/16383) приходит в диалоговую процедуру, когда консольное окно Far Manager становится активным или пассивным.
   Param1 = 1 - окно получило фокус ввода
            0 - окно стало пассивным
   Param2 = 0
   Return = 0

4. Публикуем некоторые "древние" флаги из EDITOR_FLAGS (EF_OPENMODE_*)
    EF_OPENMODE_MASK         = 0x00000000F0000000ULL,
      Маска для EF_OPENMODE_*
    EF_OPENMODE_QUERY        = 0x0000000000000000ULL,
      Запрашивать пользователя в случае если файл открыт в редакторе
    EF_OPENMODE_NEWIFOPEN    = 0x0000000010000000ULL,
      Открыть файл в новом редакторе, если он уже открыт
    EF_OPENMODE_USEEXISTING  = 0x0000000020000000ULL,
      Переключиться на открытый в редакторе файл
    EF_OPENMODE_BREAKIFOPEN  = 0x0000000030000000ULL,
      Прервать операцию открытия файла, если он открыт в редакторе
    EF_OPENMODE_RELOADIFOPEN = 0x0000000040000000ULL,
      Переоткрыть, если файл уже открыт в редакторе.

   fileedit.hpp::FEOPMODEEXISTFILE удалены, вместо этих флагов использованы EDITOR_FLAGS.

--------------------------------------------------------------------------------
svs 2014-04-07 11:56:50+04:00 - build 3853

1. Mantis#0002641: Panel with buttons is not updated during search
   DMODE_NEEDUPDATE flag is added - "update the whole dialog instead of a specific item when it is possible".

   The solution closes the ticket.
   To get rid of the kludge the core has to be "slightly" changed...
   ...to introduce a message queue (for example, Frame: std::vector<Message*> MsgQueue) with consequences.

2. Bug: Incorrect drawing of search results dialog (Alt-F7) on console size change.
   'Bottom' coordinate of dialog items did not change.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002641: Не обновляется панель с кнопками во время поиска
   Добавлен флаг DMODE_NEEDUPDATE - "при случае обновить не конкретный элемент, а весь диалог".

   Решение закрывает репорт.
   Для избавления от костыля необходимо "немного" изменять ядро...
   ...вводить очередь сообщений (например, Frame: std::vector<Message*> MsgQueue) с последствиями.

2. Bug: Некорректная отрисовка в диалоге результатов поиска (Alt-F7) при изменении размеров консоли.
   Не изменялась координата Bottom у элементов диалога.

--------------------------------------------------------------------------------
drkns 2014-04-05 12:56:05+02:00 - build 3852

1. M#2639:  When starting smth from a panel (with the empty command line), command aliases must not apply

2. In 3819 mouse wheel control of the panel cursor was broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2639: При запуске из панели (с пустой ком.строкой) не должны применяться командные алиасы

2. В 3819 погнулось перемещение курсора в панелях колесом мыши.

--------------------------------------------------------------------------------
svs 2014-04-04 16:50:40+04:00 - build 3851

1. Mantis#0002615: A method of identification of drop-down history lists is needed

   One GUID for all histories in edit fields:

    SelectFromEditHistoryId  = {4406C688-209F-4378-8B7B-465BF16205FF}  --> Dlg.Id

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002615: Нужен способ идентификации выпадающих историй

   Один GUID для всех историй в полях ввода:

    SelectFromEditHistoryId  = {4406C688-209F-4378-8B7B-465BF16205FF}  --> Dlg.Id

--------------------------------------------------------------------------------
w17 2014-04-04 16:07:24+04:00 - build 3850

1. M#2637: broken sorting by file creation date in panels

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2637: перестала работать в панелях сортировка по дате создания файла

--------------------------------------------------------------------------------
svs 2014-04-04 11:39:31+04:00 - build 3849

1. SQLite 3.8.4.3

--------------------------------------------------------------------------------
drkns 2014-04-04 00:30:15+02:00 - build 3848

1. Refactoring.

--------------------------------------------------------------------------------
svs 2014-04-03 21:49:06+04:00 - build 3847

1. Mantis#0001301: Errors in processing DM_LISTUPDATE, DN_LISTCHANGE

   Processing of position changes in lists moved to VMenu class (DN_LISTHOTKEY and DN_LISTCHANGE)

   This is how it looks for hotkeys now:
   if(DN_LISTHOTKEY)
    if(DN_LISTCHANGE)
      changing the position

   Catching bugs :-)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001301: Ошибки при выполнении DM_LISTUPDATE, DN_LISTCHANGE

   Обработка изменения позиций в листах вынесена в класс VMenu (DN_LISTHOTKEY и DN_LISTCHANGE)

   Для хоткеев теперь так:
   if(DN_LISTHOTKEY)
    if(DN_LISTCHANGE)
      изменяем позицию

   Ловим баги :-)

--------------------------------------------------------------------------------
drkns 2014-03-30 12:21:55+02:00 - build 3846

1. 0002628: Warning with incomprehensible choices

2. In 3843 keyboard control of combo boxes was broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002628: Предупреждение с непонятными следствиями выбора

2. В 3843 отвалилось управление комбобоксом с клавиатуры.

--------------------------------------------------------------------------------
drkns 2014-03-29 20:20:06+02:00 - build 3845

1. M#0002631: Buffer overflow displaying a file at the window and line width > 512 characters.

2. The new version of the universal charset detector.

3. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#0002631: Переполнение буфера при просмотре файлов с шириной окна и строки > 512 символов.

2. Новая версия universal charset detector'а.

3. Рефакторинг.

--------------------------------------------------------------------------------
svs 2014-03-27 10:14:07+04:00 - build 3844

1. SQLite 3.8.4.2

--------------------------------------------------------------------------------
svs 2014-03-27 09:09:23+04:00 - build 3843

1. Mantis#0001301: Errors on processing DM_LISTUPDATE, DN_LISTCHANGE

   DN_LISTCHANGE - docs contained incorrect description of the event (copy-paste from DN_EDITCHANGE).
   DI_LISTBOX missed the return of cursor position to its previous state if the dialog procedure returned 0.
   In DI_COMBOBOX - separate processing (vmenu.cpp), sending DN_LISTCHANGE message (and reacting on it) after displaying;
     in VMenu class, the presence of the "owner" (dialog) and a combo box (VMENU_COMBOBOX) was not taken into account when displaying.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001301: Ошибки при выполнении DM_LISTUPDATE, DN_LISTCHANGE

   DN_LISTCHANGE - в документации было неверное описание работы события (копи-паст из DN_EDITCHANGE).
   В DI_LISTBOX отсутствовал возврат позиционирования курсора в предыдущее состояние, если диалоговая процедура возвращала 0.
   В DI_COMBOBOX - обработка самостоятельная (vmenu.cpp), посыл сообщения DN_LISTCHANGE (и реакция на него) после визуального отображения;
     в классе VMenu при отображении не учитывалось наличие "хозяина" (диалог) и признака комбинированного списка (VMENU_COMBOBOX).

--------------------------------------------------------------------------------
drkns 2014-03-23 21:51:18+02:00 - build 3842

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2014-03-22 21:27:21+02:00 - build 3841

1. Correction of 3838 (DM_GETDIALOGTITLE).

--------------------------------------------------------------------------------
drkns 2014-03-21 20:28:49+02:00 - build 3840

1. Moving DN_DRAWDLGITEMDONE to a correct place.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Передвинем DN_DRAWDLGITEMDONE в правильное место.

--------------------------------------------------------------------------------
svs 2014-03-21 16:28:10+04:00 - build 3839

1. Correction of DN_DRAWDLGITEMDONE
   The scheme is following:
      1. Drawing the whole dialog:
          DN_DRAWDIALOG
          DN_CTLCOLORDIALOG
          CountItem times {
            DN_DRAWDLGITEM
            DN_CTLCOLORDLGLIST
            DN_DRAWDLGITEMDONE
          }
          DN_DRAWDIALOGDONE

      2. Drawing a single item:
          DN_DRAWDLGITEM
          DN_CTLCOLORDLGLIST
          DN_DRAWDLGITEMDONE

2. Mantis#2511: ACTL_GETWINDOWINFO freezes on call for a dialog is another dialog has been present recently
   (from NightRoman)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение относительно DN_DRAWDLGITEMDONE
   Схема следующая:
      1. Отрисовка всего диалога:
          DN_DRAWDIALOG
          DN_CTLCOLORDIALOG
          CountItem раз {
            DN_DRAWDLGITEM
            DN_CTLCOLORDLGLIST
            DN_DRAWDLGITEMDONE
          }
          DN_DRAWDIALOGDONE

      2. Отрисовка одного элемента:
          DN_DRAWDLGITEM
          DN_CTLCOLORDLGLIST
          DN_DRAWDLGITEMDONE

2. Mantis#2511: ACTL_GETWINDOWINFO зависает при вызове для диалога при недавнем наличии другого диалога
   (from NightRoman)

--------------------------------------------------------------------------------
svs 2014-03-21 13:59:21+04:00 - build 3838

1. Dialog API. Addition:

    DM_GETDIALOGTITLE message (67) allows to get the caption of the dialog.
      Param1 = 0
      Param2 = Pointer to FarDialogItemData structure
      Return = The size of the caption in characters, without trailing '\0'

    Far takes data for the dialog caption (including the caption of the console window) from
    the first 'text' (like DI_TEXT, DI_DOUBLEBOX, DI_SINGLEBOX items)
    or "list" (like DI_LISTBOX) available.
    If the dialog items array lacks at least one of these items then the caption is empty.

2. Dialog API. Addition:

    DN_DRAWDLGITEMDONE event (68) is sent at the end of dialog item drawing (pair DN_DRAWDLGITEM).
      Param1 = ID
      Param2 = 0
      Return = 0

    Earlier, DN_DRAWDIALOGDONE was always send to signal of the end of a single item redraw
    (the same as for drawing the whole dialog).

    Now:
      1. Drawing the whole dialog:
          DN_DRAWDIALOG
          DN_CTLCOLORDIALOG
          CountItem times {
            DN_DRAWDLGITEM
            DN_CTLCOLORDLGLIST
          }
          DN_DRAWDIALOGDONE

      2. Drawing a single item:
          DN_DRAWDLGITEM
          DN_CTLCOLORDLGLIST
          DN_DRAWDLGITEMDONE

3. Mantis#0002586: Events: there's no possibility to handle a combo box opening

   Dialog API. Addition:

   DN_DROPDOWNOPENED event (4119) is sent before Combobox or History open and after them close.
      Param1 = ID
      Param2 = 1 - opened, 0 - closed
      Return = 0

   Perhaps the correction of the place of call is necessary here.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Dialog API. Добавка:

    Сообщение DM_GETDIALOGTITLE (67) позволяет получить заголовок диалога.
      Param1 = 0
      Param2 = Указатель на структуру FarDialogItemData
      Return = Размер заголовка в символах, без завершающего символа конца строки '\0'

    Far для заголовка диалога (в т.ч. для заголовка консольного окна) берёт данные
    из первого попавшегося "текста" (элементы типа DI_TEXT, DI_DOUBLEBOX, DI_SINGLEBOX)
    или "списка" (элемент типа DI_LISTBOX).
    Если в массиве элементов диалога отсутствует хотя бы один из перечисленных
    элементов, то заголовок пустой.

2. Dialog API. Добавка:

    Событие DN_DRAWDLGITEMDONE (68) посылается в конце отрисовки элемента диалога (парный DN_DRAWDLGITEM).
      Param1 = ID
      Param2 = 0
      Return = 0

    Ранее для сигнала конца отрисовки одного элемента всегда приходил DN_DRAWDIALOGDONE
    (так же как и для отрисовки всего диалога).

    Сейчас
      1. Отрисовка всего диалога:
          DN_DRAWDIALOG
          DN_CTLCOLORDIALOG
          CountItem раз {
            DN_DRAWDLGITEM
            DN_CTLCOLORDLGLIST
          }
          DN_DRAWDIALOGDONE

      2. Отрисовка одного элемента:
          DN_DRAWDLGITEM
          DN_CTLCOLORDLGLIST
          DN_DRAWDLGITEMDONE

3. Mantis#0002586: События: нет возможности отследить открытие комбобокса

   Dialog API. Добавка:

   Событие DN_DROPDOWNOPENED (4119) посылается перед открытием Combobox или History и после закрытия.
      Param1 = ID
      Param2 = 1 - открыт, 0 - закрыт
      Return = 0

   Здесь возможно необходимо уточнение места вызова.

--------------------------------------------------------------------------------
svs 2014-03-19 16:17:34+04:00 - build 3837

1. Mantis#0000327: [X] Save bookmarks does not work without [X] Save file position

   The options have become independent, although:

   The variant without history.db redone.
   Now tables editorposition_history/viewerbookmarks_history depend on
   editorposition_history/viewerposition_history (the latter ones contain the filename).

   A record is made in editorposition_history/viewerposition_history if
   "save position" OR "save bookmark" are set.
   If "save bookmark" is set but "save position" is not, then the tables
   editorposition_history/viewerposition_history get zeros as information about position.

2. Makeup (UCase) for GUID

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000327: [X] Save bookmarks не работает без [X] Save file position

   Опции стали независимы, но!

   Вариант без переделки структуры history.db.
   Сейчас таблицы editorposition_history/viewerbookmarks_history зависят от
   editorposition_history/viewerposition_history (в последних храниться имя файла).

   В editorposition_history/viewerposition_history делается запись если
   "запоминать позицию" ИЛИ "запоминать букмарк" выставлены.
   Если есть "запоминать букмарк", но нет "запоминать позицию", то в таблицы
   editorposition_history/viewerposition_history информация о положении записывается нулями.

2. Косметика (UCase) для GUID

--------------------------------------------------------------------------------
svs 2014-03-18 15:20:34+04:00 - build 3836

1. GUID for the login and password query dialog.

    GetNameAndPasswordId  = {CD2AC546-9E4F-4445-A258-AB5F7A7800E0}  --> Dlg.Id

    It is shown (optionally) on opening a mapped volume from the drive selection menu.

2. Corrections in SysLog and some logging in dialogs.

3. <ACHTUNG!>

   DMODE_DRAWING dialog flag was cleared before sending DN_DRAWDIALOGDONE, in some cases it caused
   an endless loop in dialog drawing operation (with stack overflow and subsequent FAR crash).

   Clearing of DMODE_DRAWING flag moved to the end of DMODE_DRAWING Dialog::ShowDialog().

   </ACHTUNG!>

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. GUID для диалога запроса логина и пароля.

    GetNameAndPasswordId  = {CD2AC546-9E4F-4445-A258-AB5F7A7800E0}  --> Dlg.Id

    Появляется (опционально) при переходе на примапленный диск из меню выбора дисков.

2. Уточнения в SysLog и немного логирования в диалогах.

3. <АХТУНГ!>

   Флаг диалога DMODE_DRAWING очищался перед посылкой DN_DRAWDIALOGDONE, что в некоторых
   случаях приводило к зацикливанию операции отрисовки диалога (с переполнением стека и
   последующим вылетом Far).

   Очистка флага DMODE_DRAWING перенесена в конец DMODE_DRAWING Dialog::ShowDialog().

   </АХТУНГ!>

--------------------------------------------------------------------------------
svs 2014-03-14 12:20:09+04:00 - build 3835

1. Mantis#0002613: GUIDs needed for drives and associations menu

    EditorSwitchUnicodeCPDisabledId = {15568DC5-4D6B-4c60-B43D-2040EE39871A} --> Dlg.Id
       "Unicode codepage switch is not supported" message
       It is shown on attempt of changing the codepage while editing an Unicode file (for example, codepage 1200).

2. Mantis#0002570: Processing of an incorrect value in the settings dialog
   DlgBuilder is provided with unsigned int values processing capability.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002613: Требуются гуиды для меню дисков, меню ассоциаций

    EditorSwitchUnicodeCPDisabledId = {15568DC5-4D6B-4C60-B43D-2040EE39871A} --> Dlg.Id
       Сообщение "Нельзя изменить юникодную кодовую страницу"
       Появляется, когда при редактировании файла в Unicode-кодировке (например, 1200) пытаемся поменять кодовую страницу.

2. Mantis#0002570: Обработка некорректного значения в диалоге настроек
   В DlgBuilder добавлен функционал работы с unsigned int значениями.

--------------------------------------------------------------------------------
svs 2014-03-13 20:13:49+04:00 - build 3834

1. Mantis#0002613: GUIDs needed for drives and associations menu

    ChangeDiskMenuId      = {252CE4A3-C415-4b19-956B-83E2FDD85960}  --> Menu.Id
       Drive selection menu

    FileAssocMenuId       = {F6D2437C-FEDC-4075-AA56-275666FC8979}  --> Menu.Id
       Associations editing menu
    SelectAssocMenuId     = {D2BCB5A5-6B82-4eb5-B321-1AE7607A6236}  --> Menu.Id
       Associations list menu
    FileAssocModifyId     = {6F245B1A-47D9-41a6-AF3F-FA2C8DBEEBD0}  --> Dlg.Id
       Current association editing menu

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002613: Требуются гуиды для меню дисков, меню ассоциаций

    ChangeDiskMenuId      = {252CE4A3-C415-4B19-956B-83E2FDD85960}  --> Menu.Id
       Меню выбора диска

    FileAssocMenuId       = {F6D2437C-FEDC-4075-AA56-275666FC8979}  --> Menu.Id
       Меню редактирования ассоциаций
    SelectAssocMenuId     = {D2BCB5A5-6B82-4EB5-B321-1AE7607A6236}  --> Menu.Id
       Меню выбора из списка ассоциаций
    FileAssocModifyId     = {6F245B1A-47D9-41A6-AF3F-FA2C8DBEEBD0}  --> Dlg.Id
       Диалог редактирования очередной ассоциации

--------------------------------------------------------------------------------
drkns 2014-03-13 11:55:36+02:00 - build 3833

1. After 3819 the logical binding of the dialog items did not work.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. После 3819 не работало логическое связывание элементов диалога.

--------------------------------------------------------------------------------
zg 2014-03-13 02:20:45+02:00 - build 3832

1. 0002620: Stuck Shift key when sending ECTL_PROCESSINPUT.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002620: Залипшая клавиша Shift при посылке ECTL_PROCESSINPUT.

--------------------------------------------------------------------------------
svs 2014-03-12 16:03:57+04:00 - build 3831

1. SQLite 3.8.4.1

2. Mantis#0002619: Missing horizontal line in help
   The help markup is added the instruction:
     @=[Sym] (at the beginning of the line)
     Draws a horizontal line from "Sym" characters with the normal text color.
     The line is drawn onw the entire width of the Help window indented by one symbol from the left and from the right.
     If "Sym" is omitted, then the single horizontal line will be drawn (character code 0x2500).
     The rest of the line is ignored.

3. DIF_SEPARATORUSER did not work (at least for the horizontal separator)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. SQLite 3.8.4.1

2. Mantis#0002619: Не хватает горизонтальной линии в хелпе
   В разметку хелпа добавлена конструкция:
     @=[Символ] (в начале строки)
     Рисует горизонтальную линию из символов "Символ" цветом обычного текста.
     Линия рисуется на всю ширину окна Помощи с отсупами по одному символу слева и справа.
     Если "Символ" не указан, будет отрисована горизонтальная одинарная линия (символом 0x2500).
     Остаток строки игнорируется.

3. Не работал DIF_SEPARATORUSER (по крайней мере для горизонтального сепаратора)

--------------------------------------------------------------------------------
svs 2014-03-11 10:24:41+04:00 - build 3830

1. Bug: Incorrect functioning of launch files from panels when the file name contains '@' at the beginning.
   For example, "@@@@howl_by_tomape.jpg" while proceeding inner functions is transformed to "@@@howl_by_tomape.jpg"
   I.e. "@" character at the beginning of the line treated as a silent mode flag, then the line is truncated by -1 character.

   Now: Enter on a file panel item skips the algorithm of '@' character definition at the beginning of the name.
        For '@@@@howl_by_tomape.jpg' in command line a warning will be issued that the file "@@@howl_by_tomape.jpg" does not exist.
        For '"@@@@howl_by_tomape.jpg"' (quoted name) the '@@@@howl_by_tomape.jpg' file will be launched.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Bug: Некорректно отрабатывает запуск с панелей файлов, содержащих в начале имени символ '@'.
   Например, "@@@@howl_by_tomape.jpg" в процессе прохода по внутренним функциям превращается в "@@@howl_by_tomape.jpg"
   Т.е. символ "@" в начале строки воспринимается как признак тихого режима, потом усекается на -1 символ.

   Ныне: Enter на элементе файловой панели пропускает механизм определения символа '@' в начале имени.
         Если в ком.строке '@@@@howl_by_tomape.jpg' - будет выдано предупреждение, что файла "@@@howl_by_tomape.jpg" нет.
         Если в ком.строке '"@@@@howl_by_tomape.jpg"' (имя в кавычках) - будет запущен файл '@@@@howl_by_tomape.jpg'.

--------------------------------------------------------------------------------
svs 2014-03-10 22:56:53+04:00 - build 3829

1. SQLite 3.8.4

--------------------------------------------------------------------------------
drkns 2014-03-10 19:37:56+02:00 - build 3828

1. "/rw" key renamed to "/ro-".

2. After 3821 the debug build detected false memory leak. It is better to avoid global std objects.

3. Placing NonCopyable, getting rid of some global objects and other refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ключ "/rw" переименован в "/ro-".

2. После 3821 debug build детектировал ложную утечку памяти. Лучше избегать глобальных std-объектов.

3. Расставляем NonCopyable, избавляемся от некоторых глобальных объектов и прочий рефакторинг.

--------------------------------------------------------------------------------
drkns 2014-03-10 01:28:52+02:00 - build 3827

1. Another couple of drawing optimizations.

--------------------------------------------------------------------------------
drkns 2014-03-10 01:08:07+02:00 - build 3826

1. A very old bug, introduced in 2.0.1077.
   In some cases the optimization worked not as expected and caused slowdown.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Очень старый баг, внесённый ещё в 2.0.1077.
   В некоторых случаях оптимизация работала не так, как ожидалось, и становилось в разы медленнее.

--------------------------------------------------------------------------------
shmuel 2014-03-09 15:08:27+02:00 - build 3825

1. Forum: DI_FIXEDIT + DIF_HISTORY for lines longer than 2 characters.
   (The presence of DIF_HISTORY flag allowed input of 1 excessive character in input field).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Из форума: DI_FIXEDIT + DIF_HISTORY для строк больше двух символов.
   (Наличие флага DIF_HISTORY позволяло ввести на 1 символ больше, чем длина поля ввода).

--------------------------------------------------------------------------------
shmuel 2014-03-08 23:07:41+02:00 - build 3824

1. Forum: FSF.TruncStr() returns incorrect result.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Из форума: Неверный результат работы FSF.TruncStr().

--------------------------------------------------------------------------------
zg 2014-03-08 18:40:47+02:00 - build 3823

1. correction of 3821. for DM_GETFOCUS and DM_LISTADDSTR -1 is returned if there is no dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 3821. для DM_GETFOCUS и DM_LISTADDSTR в случае отсутствия диалога возвращается -1.

--------------------------------------------------------------------------------
drkns 2014-03-07 02:38:36+02:00 - build 3822

1. VC10 fix.

2. Warning.

--------------------------------------------------------------------------------
zg 2014-03-07 02:13:56+02:00 - build 3821

1. 0002614: SendDlgMessage: fix for crash on invalid hDlg.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002614: SendDlgMessage: не падать при невалидном hDlg.

--------------------------------------------------------------------------------
drkns 2014-03-05 22:41:01+02:00 - build 3820

1. 0002604: Translate in file menu Add, Subtract, Multiply...

--------------------------------------------------------------------------------
drkns 2014-03-04 01:22:32+02:00 - build 3819

1. Forum: long to short names conversion did not work for file names longer than 255 characters.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: преобразование длинных имен в короткие не работало для имен длиннее 255 символов.

2. Рефакторинг.

--------------------------------------------------------------------------------
shmuel 2014-03-02 09:53:50+02:00 - build 3818

1. Custom sorting in panels: indication of current sorting mode would not be drawn on an empty panel in some cases.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Кастомная сортировка в панелях: индикатор сортировки в некоторых ситуациях не устанавливался на пустой панели.

--------------------------------------------------------------------------------
shmuel 2014-02-21 18:11:56+02:00 - build 3817

1. M#0002607. Another correction.

--------------------------------------------------------------------------------
svs 2014-02-21 08:05:46+04:00 - build 3816

1. Mantis#0002607. Correction.
   DM_SETITEMPOSITION returns false with wrong coordinates given.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002607. Уточнение.
   DM_SETITEMPOSITION вернёт false, если координаты заданы неверно.

--------------------------------------------------------------------------------
svs 2014-02-20 21:33:03+04:00 - build 3815

1. Mantis#0002607: DM_SETITEMPOSITION causes FAR crash if Right < Left - 1

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002607: DM_SETITEMPOSITION вызывает падение Фара, если Right < Left - 1

--------------------------------------------------------------------------------
w17 2014-02-19 16:59:31+04:00 - build 3814

1. M#2605: Memory freed after editing

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2605: Освобождение памяти после редактирования

--------------------------------------------------------------------------------
w17 2014-02-18 18:54:03+04:00 - build 3813

1. fix $#nn (from the forum)

--------------------------------------------------------------------------------
drkns 2014-02-17 22:47:09+02:00 - build 3812

1. 0002603: Crash on FCTL_GETCURRENTPANELITEM called with PTYPE_QVIEWPANEL and PTYPE_INFOPANEL

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002603: Падение по вызове FCTL_GETCURRENTPANELITEM на PTYPE_QVIEWPANEL и PTYPE_INFOPANEL

2. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2014-02-17 00:03:05+02:00 - build 3811

1. Correction of 3810.

--------------------------------------------------------------------------------
drkns 2014-02-16 19:18:25+02:00 - build 3810

1. Flags 0x10 and 0x20 were set incorrectly in Editor.State.

2. Incorrect change of UI language.

3. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Некорректно устанавливались флаги 0x10 и 0x20 в Editor.State.

2. Некорректно переключался язык интерфейса.

3. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2014-02-15 13:30:44+02:00 - build 3809

1. Third party libraries (UCD, sqlite, tinyxml) moved to thirdparty.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Сторонние библиотеки (UCD, sqlite, tinyxml) переехали в thirdparty.

--------------------------------------------------------------------------------
drkns 2014-02-14 19:33:07+02:00 - build 3808

1. 0002600: Far doesn't load plugins with the same dll-name

--------------------------------------------------------------------------------
svs 2014-02-14 09:40:25+04:00 - build 3807

1. SQLite 3.8.3.1

--------------------------------------------------------------------------------
drkns 2014-02-13 20:56:37+02:00 - build 3806

1. The size of copy buffer could not be less than 64 K.

2. Copying to nul did not use the system copy function.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Размер буфера копирования не мог быть меньше 64 К.

2. Копированиие в nul не использовало системную функцию.

--------------------------------------------------------------------------------
drkns 2014-02-13 00:23:02+02:00 - build 3805

1. VC10.

--------------------------------------------------------------------------------
drkns 2014-02-13 00:10:00+02:00 - build 3804

1. GCC build could crash when plugin was creating a dialog with a handler.

2. Now an error on language change does not cause the process terminate.

3. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. GCC-билд мог причудливо падать при создании плагином диалога с обработчиком.

2. Теперь ошибка переключения языка не приводит к завершению процессса.

3. Рефакторинг.

--------------------------------------------------------------------------------
shmuel 2014-02-12 18:00:50+02:00 - build 3803

1. Uninitialized state of "Size" checkbox in file filter creation dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не инициализировалось состояние чекбокса "Size" в диалоге создания фильтра файлов.

--------------------------------------------------------------------------------
w17 2014-02-11 17:41:29+04:00 - build 3802

1. Correction of 3801

--------------------------------------------------------------------------------
w17 2014-02-11 13:59:15+04:00 - build 3801

1. Long names in deletion dialog (from the forum)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Длинные имена в диалоге удаления (с форума)

--------------------------------------------------------------------------------
drkns 2014-02-08 12:39:25+02:00 - build 3800

1. 0002577: Block shift does not work for one character line

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002577: Не работает сдвиг блока для строки с одним символом

--------------------------------------------------------------------------------
zg 2014-02-08 03:38:56+02:00 - build 3799

1. correction of 3794:
   in editor, on code page change, any empty line causes a warning:
   "Editor contains characters, which cannot be correctly saved using selected codepage."

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 3794:
   при смене кодировки в редакторе любая пустая строка вызывает сообщение:
   "Редактор содержит символы, которые невозможно корректно преобразовать, используя выбранную кодовую страницу."

--------------------------------------------------------------------------------
zg 2014-02-06 23:38:11+02:00 - build 3798

1. DM_GETDLGITEM returns the current list for DI_LISTBOX and DI_COMBOBOX items, instead of the list which
   they were initialized by at their creation.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. DM_GETDLGITEM для элементов DI_LISTBOX и DI_COMBOBOX возвращает текущий список, а не список,
   которым они инициализировались при создании.

--------------------------------------------------------------------------------
w17 2014-02-06 01:14:29+04:00 - build 3797

1. vc++ 2010 fix

--------------------------------------------------------------------------------
drkns 2014-02-05 20:45:24+02:00 - build 3796

1. Correction of 3794.

--------------------------------------------------------------------------------
svs 2014-02-05 12:25:36+04:00 - build 3795

1. SQLite 3.8.3

--------------------------------------------------------------------------------
drkns 2014-02-05 09:43:50+02:00 - build 3794

1. Analyzer warnings.

2. Refactoring.

--------------------------------------------------------------------------------
drkns 2014-02-03 20:20:22+02:00 - build 3793

1. 0002593: Far Manager v3.0 build 3791 x86 (3792) block selection works incorrectly.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002593: Far Manager v3.0 build 3791 x86 (3792) некорректно работает выделение блока.

--------------------------------------------------------------------------------
drkns 2014-02-03 08:35:23+02:00 - build 3792

1. Correction of 3791.

--------------------------------------------------------------------------------
drkns 2014-02-02 17:48:43+02:00 - build 3791

1. Refactoring.

3. Overloading of new/delete is removed in Release and corrected in Debug.

3. PVS & cppcheck warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг.

3. Убрана перегрузка new/delete в Release, уточнена в Debug.

3. PVS & cppcheck warnings.

--------------------------------------------------------------------------------
drkns 2014-01-31 08:42:27+02:00 - build 3790

1. 0002588: After directory change in a dialog and Enter key press, the former directory is opened

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002588: При изменении каталога в диалоге и нажатии Enter переходим в прежний каталог

--------------------------------------------------------------------------------
drkns 2014-01-29 23:43:43+02:00 - build 3789

1. For the sake of perfectionism, do not query info on codepages till needed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Во имя перфекционизма не запрашиваем информацию о кодовых страницах до тех пор, пока она не понадобится.

--------------------------------------------------------------------------------
shmuel 2014-01-29 18:45:16+02:00 - build 3788

1. Refactoring in macro system.

--------------------------------------------------------------------------------
zg 2014-01-27 21:37:49+02:00 - build 3787

1. 0002579: DM_GETTEXT returns garbage in some cases (LuaFAR)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002579: DM_GETTEXT в некоторых случаях возвращает мусор (LuaFAR)

--------------------------------------------------------------------------------
drkns 2014-01-27 21:09:26+02:00 - build 3786

1. 0002578: Memory allocation issue when searching with a filter

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002578: Проблема выделения памяти при поиске с фильтром

--------------------------------------------------------------------------------
zg 2014-01-25 04:09:09+02:00 - build 3785

1. 0002567: browsing an archive after search
   SetDirectoryW was passed a path with a trailing slash.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002567: навигация по архиву после поиска
   в SetDirectoryW передавался путь со слешем на конце.

--------------------------------------------------------------------------------
drkns 2014-01-21 22:47:59+02:00 - build 3784

1. 0002568: Exception on attempt of entering a string into fields designed for numeric values

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002568: Exception при попытке ввода строки в поля рассчитанные на числовые значения

--------------------------------------------------------------------------------
w17 2014-01-21 23:14:25+04:00 - build 3783

1. M#2569: Incorrect functioning of AltM shortcut in Viewer settings dialog

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2569: В диалоге настроек Viewer неверно работает шорткат AltM

--------------------------------------------------------------------------------
shmuel 2014-01-21 19:26:55+02:00 - build 3782

1. Refactoring in macro system.

--------------------------------------------------------------------------------
drkns 2014-01-19 23:03:16+02:00 - build 3781

1. #0002294: Unused code is removed.

--------------------------------------------------------------------------------
drkns 2014-01-19 21:18:14+02:00 - build 3780

1. Correction of 3779.

--------------------------------------------------------------------------------
drkns 2014-01-19 19:58:42+02:00 - build 3779

1. PVS & cppcheck warnings.

2. Refactoring.

--------------------------------------------------------------------------------
drkns 2014-01-19 02:39:29+02:00 - build 3778

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2014-01-18 20:50:43+02:00 - build 3777

1. Refactoring in macro system.

--------------------------------------------------------------------------------
w17 2014-01-17 14:12:54+04:00 - build 3776

1. M#2557: Confirmation of multiple files deletion

   2 parameters added (far:config):

   a) Interface.DelHighlightSelected -- bool, default = true
   true -- taking the case when the list of items to delete differs from the item under the cursor.

   b) Interface.DelShowSelected -- int, default = 10
   Show names in multiple files deletion, but not more than the number specified,
   scaled to range 1..screen_length/2

   Old behavior = (false, 1)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2557: Подверждение удаления нескольких файлов

   Добавлены 2 настройки (far:config):

   a) Interface.DelHighlightSelected -- bool, default = true
   true -- выделяем случай, когда список удаляемых объектов отличаеся от объекта под курсором.

   b) Interface.DelShowSelected -- int, default = 10
   При множественном удалении показываем имена. Не более чем заданное число,
   приведённое к диапазону 1..высота_экрана/2

   Старое поведение = (false, 1)

--------------------------------------------------------------------------------
drkns 2014-01-17 09:50:47+02:00 - build 3775

1. Correction of 3774.

--------------------------------------------------------------------------------
drkns 2014-01-16 22:11:50+02:00 - build 3774

1. 0002565: Regression with privilege escalation and folder reading

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002565: Регрессия с повышением доступа и чтением папок

2. Рефакторинг.

--------------------------------------------------------------------------------
w17 2014-01-15 16:38:20+04:00 - build 3773

1. Continuation of b3771

--------------------------------------------------------------------------------
shmuel 2014-01-14 19:24:08+02:00 - build 3772

1. Refactoring in macro system.

--------------------------------------------------------------------------------
w17 2014-01-14 16:58:53+04:00 - build 3771

1. M#2556: Crash in Help if macro has lots of keys assigned

--------------------------------------------------------------------------------
shmuel 2014-01-14 11:15:34+02:00 - build 3770

1. Refactoring in macro system.

--------------------------------------------------------------------------------
w17 2014-01-13 00:08:49+04:00 - build 3769

1. M#2558: Undo does not take file save into account (from CyberShadow)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2558: Слияние блок Undo не учитывает сохранение файла (from CyberShadow)

--------------------------------------------------------------------------------
drkns 2014-01-12 13:24:37+02:00 - build 3768

1. Correction of 3767.

--------------------------------------------------------------------------------
drkns 2014-01-12 00:21:01+02:00 - build 3767

1. Crash if there is no rights for writing to profile.

2. Unsupported plugins (for example, Far 2) could be considered as "correct" ones.

3. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Падение при отсутствии прав на запись в профиль.

2. "Правильными" плагинами могли считаться и неподдерживаемые, например от Far 2.

3. Рефакторинг.

--------------------------------------------------------------------------------
shmuel 2014-01-11 23:43:43+02:00 - build 3766

1. M#2551: Object.Height/Width do not work in menu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2551: Object.Height/Width не работают в меню.

--------------------------------------------------------------------------------
drkns 2014-01-09 00:20:44+02:00 - build 3765

1. Correction of 3752 for plugin panels.

--------------------------------------------------------------------------------
drkns 2014-01-08 19:43:29+02:00 - build 3764

1. After 3751, hidden files on a plugin panel were shown incorrectly.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. После 3751 некоррекно отображались скрытые файлы на панели плагина.

--------------------------------------------------------------------------------
drkns 2014-01-06 17:13:09+02:00 - build 3763

1. Use OS version checks recommended by MS instead of deprecated GetVersionEx.

2. Use native thread_local in gcc.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Используем рекомендуемые MS проверки версии ОС вместо deprecated GetVersionEx.

2. Используем нативный thread_local в gcc.

--------------------------------------------------------------------------------
drkns 2014-01-05 22:55:23+02:00 - build 3762

1. VC10.

--------------------------------------------------------------------------------
drkns 2014-01-05 19:39:38+02:00 - build 3761

1. 0002553: Useless hotkeys F3/F4 in commands history (Alt-F8)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002553: Ненужные хоткеи F3/F4 в история команд (Alt-F8)

--------------------------------------------------------------------------------
shmuel 2014-01-05 19:22:10+02:00 - build 3760

1. Refactoring of custom sorting.

--------------------------------------------------------------------------------
drkns 2014-01-03 13:37:10+02:00 - build 3759

1. Continuation of 3756: allocations are removed, the code is slightly simplified.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 3756: убраны аллокации и немного упрощен код.

--------------------------------------------------------------------------------
drkns 2014-01-03 11:23:21+02:00 - build 3758

1. Correction of 3752.

--------------------------------------------------------------------------------
t-rex 2014-01-03 11:08:14+02:00 - build 3757

1. Memory leak in 3756.

--------------------------------------------------------------------------------
t-rex 2014-01-03 04:59:02+02:00 - build 3756

1. Fix for custom sorting, this is made ugly to pay attention on it.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Фикс кастомной сортировки, уродливо но чтоб намёк был понят.

--------------------------------------------------------------------------------
drkns 2014-01-03 04:00:21+02:00 - build 3755

1. "Restore" custom sorting modes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. "Восстановим" кастомные режимы сортировки.

--------------------------------------------------------------------------------
drkns 2014-01-02 18:06:05+02:00 - build 3754

1. Optimization of inner classes moving.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Оптимизация перемещения внутренних классов.

--------------------------------------------------------------------------------
drkns 2014-01-02 04:33:52+02:00 - build 3753

1. Continuation of 3752.

--------------------------------------------------------------------------------
drkns 2014-01-02 02:55:55+02:00 - build 3752

1. Optimization similar to 3401: each file panel item occupies about 200 bytes of memory less.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Оптимизация, аналогичная 3401: каждый элемент файловой панели занимает примерно на 200 байт меньше памяти.

--------------------------------------------------------------------------------
drkns 2013-12-31 16:06:31+02:00 - build 3751

1. Refactoring.

2. Correction of 3749.

3. ShiftF9 always forces settings save "with no heuristics nor optimization".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг.

2. Уточнение 3749.

3. Нажатие ShiftF9 всегда принудительно сохраняет настройки, "не занимаясь эвристикой и оптимизацией".

--------------------------------------------------------------------------------
drkns 2013-12-31 03:05:45+02:00 - build 3750

1. F4 in mask groups menu crashed FAR.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Нажатие F4 в меню групп масок приводило к падению.

--------------------------------------------------------------------------------
drkns 2013-12-31 00:38:12+02:00 - build 3749

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-12-30 21:25:21+02:00 - build 3748

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-12-26 19:36:19+02:00 - build 3747

1. Correction of 3746.

--------------------------------------------------------------------------------
drkns 2013-12-26 01:21:42+02:00 - build 3746

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-12-21 22:00:20+02:00 - build 3745

1. Correction of 3744.1.

--------------------------------------------------------------------------------
drkns 2013-12-21 21:20:13+02:00 - build 3744

1. Refactoring.

2. Memory leaks when started with /v or /e keys.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг.

2. Утечки памяти при запуске с ключом /v или /e.

--------------------------------------------------------------------------------
drkns 2013-12-15 04:54:32+02:00 - build 3743

1. Correction of 3738.

--------------------------------------------------------------------------------
drkns 2013-12-13 22:15:29+02:00 - build 3742

1. Correction of 3738.

--------------------------------------------------------------------------------
svs 2013-12-13 12:06:12+04:00 - build 3741

1. Mantis#0002545: GUID for the plugin parameters menu

    PluginsConfigMenuId   =  {B4C242E7-AA8E-4449-B0C3-BD8D9FA11AED} --> Menu.Id

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002545: GUID для меню параметров плагинов

    PluginsConfigMenuId   =  {B4C242E7-AA8E-4449-B0C3-BD8D9FA11AED} --> Menu.Id

--------------------------------------------------------------------------------
drkns 2013-12-13 09:23:31+02:00 - build 3740

1. Correction of 3738.

--------------------------------------------------------------------------------
drkns 2013-12-13 01:21:33+02:00 - build 3739

1. VC10 fix.

--------------------------------------------------------------------------------
drkns 2013-12-13 00:57:54+02:00 - build 3738

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-12-09 20:56:45+02:00 - build 3737

1. Files highlighting was broken in 3733.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В 3733 погнулась раскраска файлов.

--------------------------------------------------------------------------------
w17 2013-12-09 14:03:54+04:00 - build 3736

1. Correction of 3678 (M#2496)

--------------------------------------------------------------------------------
w17 2013-12-09 13:43:23+04:00 - build 3735

1. M#2543: incorrect functioning of Panel.SetPosIdx when panel filter is on

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2543: неверная работа Panel.SetPosIdx при включенном фильтре в панели

--------------------------------------------------------------------------------
svs 2013-12-09 10:55:43+04:00 - build 3734

1. SQLite 3.8.2

--------------------------------------------------------------------------------
drkns 2013-12-08 23:04:44+02:00 - build 3733

1. Refactoring.

--------------------------------------------------------------------------------
svs 2013-12-06 14:31:24+04:00 - build 3732

1. Mantis#0002331: Hotkeys and/or GUIDs for Folder Shortcuts

    FolderShortcutsDlgId  = {DC8D98AC-475C-4f37-AB1D-45765EF06269} --> Dlg.Id
      Path editing dialog.
    FolderShortcutsMoreId = {601DD149-92FA-4601-B489-74C981BC8E38} --> Menu.Id
      The menu shown when more than one path is bound to a shortcut.
      Earlier, entered FolderShortcutsId was the menu of the common list of shortcuts (F9 c d).

2. SetId/GetId functions assigning a GUID to dialogs are added to DialogBuilder.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002331: Хоткеи и\или GUID для Folder Shortcuts

    FolderShortcutsDlgId  = {DC8D98AC-475C-4F37-AB1D-45765EF06269} --> Dlg.Id
      Диалог редактирования пути.
    FolderShortcutsMoreId = {601DD149-92FA-4601-B489-74C981BC8E38} --> Menu.Id
      Меню, показываемое, когда на один шорткат навешено больше одного пути.
      Ранее введенный FolderShortcutsId - это меню общего списка шорткатов (F9 c d).

2. В "построитель" DialogBuilder добавлены функции SetId/GetId присвоения GUID`а диалогу.

--------------------------------------------------------------------------------
svs 2013-12-05 17:07:29+04:00 - build 3731

1. Mantis#0002537: a list with DIF_LISTNOBOX flag in dialog shows unusual scrolling
   ...similar behavior was for PgDn

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002537: лист с флагом DIF_LISTNOBOX в диалоге странно прокручивается мышью
   ...аналогичное поведение было и у PgDn

--------------------------------------------------------------------------------
svs 2013-12-05 14:43:33+04:00 - build 3730

1. SysLog. Output file is in UTF-8; correction of file open/close (with debug info on app close)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. SysLog. Выходной файл в UTF-8; корректировка открытия/закрытия файла (с отладочной инфой по завершению работы программы)

--------------------------------------------------------------------------------
drkns 2013-12-04 20:32:29+02:00 - build 3729

1. Refactoring.

2. syslog used wrong *printf functions.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг.

2. В syslog'е использовались не те *printf-функции.

--------------------------------------------------------------------------------
zg 2013-11-29 21:29:21+02:00 - build 3728

1. fg4bit and bg4bit switched places in import/export.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. fg4bit и bg4bit при импорте экспорте были перепутаны местами.

--------------------------------------------------------------------------------
drkns 2013-11-27 22:00:17+02:00 - build 3727

1. 0002533: Xlat settings cannot be read on Far start

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002533: не работает считывание настроек Xlat при старте Far

--------------------------------------------------------------------------------
drkns 2013-11-27 21:13:16+02:00 - build 3726

1. 0002535: Crash when opening History in a small EditBox

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002535: Crash при открытии History в маленьком EditBox

--------------------------------------------------------------------------------
drkns 2013-11-26 23:03:45+02:00 - build 3725

1. A couple of corrections in 3723.

--------------------------------------------------------------------------------
drkns 2013-11-25 01:55:45+02:00 - build 3724

1. A couple of corrections in 3723.

--------------------------------------------------------------------------------
drkns 2013-11-24 21:37:36+02:00 - build 3723

1. Refactoring.

2. Wiping unused code.

--------------------------------------------------------------------------------
w17 2013-11-21 21:10:00+04:00 - build 3722

1. Exception on CtrlJ/C/F in panel when the cursor is on '..'

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. нажатия CtrlJ/C/F в панели, когда курсор стоит на .., вызывают исключения.

--------------------------------------------------------------------------------
shmuel 2013-11-21 17:11:54+02:00 - build 3721

1. Correction of build 3708 (M#2440).

--------------------------------------------------------------------------------
w17 2013-11-20 13:48:49+04:00 - build 3720

1. M#2527: Crash when restarting with rebuilding tree(fix b3673.2)

--------------------------------------------------------------------------------
drkns 2013-11-19 21:18:07+02:00 - build 3719

1. 0002528: Crash when LCtrl8 panel mode is on

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002528: Падение при включении режима панели LCtrl8

--------------------------------------------------------------------------------
svs 2013-11-18 15:42:46+04:00 - build 3718

1. Corrections on TREEFILE_PROJECT (Mantis#0000186)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнения по TREEFILE_PROJECT (Mantis#0000186)

--------------------------------------------------------------------------------
w17 2013-11-18 11:37:28+04:00 - build 3717

1. Correction of 3713 (do not store duplicate commands from different folders)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 3713 (не пишем дубликаты команд из разных каталогов)

--------------------------------------------------------------------------------
shmuel 2013-11-16 17:17:31+02:00 - build 3716

1. Correction of 3713.

--------------------------------------------------------------------------------
shmuel 2013-11-16 16:55:01+02:00 - build 3715

1. Correction of 3714.

--------------------------------------------------------------------------------
shmuel 2013-11-16 14:54:12+02:00 - build 3714

1. An event type in added in Panel API: FE_CHANGESORTPARAMS.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Добавлен тип события в Panel API: FE_CHANGESORTPARAMS.

--------------------------------------------------------------------------------
w17 2013-11-16 03:05:43+04:00 - build 3713

1. M#2208: Memorize the folder a command was launched at (from fml2)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2208: Запоминать, в какой папке была запущена команда (from fml2)

--------------------------------------------------------------------------------
svs 2013-11-15 17:39:24+04:00 - build 3712

1. Corrections (some) on TREEFILE_PROJECT (Mantis#0000186)
   concerning network paths

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнения (немного) по TREEFILE_PROJECT (Mantis#0000186)
   про сетевые пути

--------------------------------------------------------------------------------
svs 2013-11-15 15:35:21+04:00 - build 3711

1. Corrections (some) on TREEFILE_PROJECT (Mantis#0000186)
   Templates of tree files are changed:
    "LD.%D.%SN.tree"      the template of a tree file name for local volumes
    "ND.%D.%SN.tree"      the template of a tree file name for network volumes
    "NP.%SR.%SH.tree"     the template of a tree file name for network paths
    "RD.%SN.tree"         the template of a tree file name for removable drives
    "CD.%L.%SN.tree"      the template of a tree file name for CD/DVD/BD/etc drives

   <ACHTUNG>

   1. No need for /D TREEFILE_PROJECT - the project is in development. Testing only.
   2. Post your ideas and comments here - http://bugs.farmanager.com/view.php?id=186

   </ACHTUNG>

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнения (немного) по TREEFILE_PROJECT (Mantis#0000186)
   Изменены шаблоны tree-файлов:
    "LD.%D.%SN.tree"      шаблон имени файла-деревяхи для локальных дисков
    "ND.%D.%SN.tree"      шаблон имени файла-деревяхи для сетевых дисков
    "NP.%SR.%SH.tree"     шаблон имени файла-деревяхи для сетевых путей
    "RD.%SN.tree"         шаблон имени файла-деревяхи для сменных дисков
    "CD.%L.%SN.tree"      шаблон имени файла-деревяхи для CD/DVD/BD/etc дисков

   <АХТУНГ>

   1. Не надо ставить /D TREEFILE_PROJECT - проект в разработке. Только для тестирования.
   2. Идеи и замечания сюда - http://bugs.farmanager.com/view.php?id=186

   </АХТУНГ>

--------------------------------------------------------------------------------
w17 2013-11-13 01:12:09+04:00 - build 3710

1. M#2524: Crash when renaming a file on Mac network drive.
   Experimental workaround for buggy OSX SMB.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2524: Падает при переименовании файла на маковском сетевом диске
   Experimental workaround for buggy OSX SMB.

--------------------------------------------------------------------------------
w17 2013-11-12 20:11:28+04:00 - build 3709

1. M#2525: Incorrect clipping of edited file on Mac network drive
   Experimental workaround for buggy OSX SMB.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2525: Некорректное обрезание редактируемого файла на маковском сетевом диске
   Experimental workaround for buggy OSX SMB.

--------------------------------------------------------------------------------
svs 2013-11-11 11:16:52+04:00

1. Corrections in 'title' command help topic

2. References to print function (Alt-F5) are removed from help topics on editor and viewer, as there's no support for it in code.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнения в хелпе про команду title

2. Из разделов хелпа про редактор и вьювер убраны упоминания про печать (Alt-F5) - в коде нет поддержки этой операции.

--------------------------------------------------------------------------------
shmuel 2013-11-08 18:47:05+02:00 - build 3708

1. M#2440: akey(1) and single modifier key press.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2440: akey(1) и одиночные нажатия модификаторов.

--------------------------------------------------------------------------------
drkns 2013-11-03 01:25:39+02:00 - build 3707

1. 0002521: Far crash on 'My Documents' ANSI plugin start, since build 3506

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002521: Far падает при запуске ANSI-плагина My Documents начиная с билда 3506

--------------------------------------------------------------------------------
shmuel 2013-11-02 21:39:35+02:00 - build 3706

1. Find file (AltF7): crash when searching on a non-file plugin panel.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Find file (AltF7): падение при поиске на не-файловой плагиновой панели.

--------------------------------------------------------------------------------
drkns 2013-10-31 22:34:33+02:00 - build 3705

1. Far processes the "title" command.
   The argument string is used instead of standard console caption formatting logic until the end of the current session.
   If the string is omitted, default behavior is restored.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Far самостоятельно обрабатывает команду "title".
   Переданная строка будет использоваться вместо стандартной логики формирования заголовка консоли до завершения текущего сеанса.
   Если строка не указана, будет восстановлено стандартное поведение.

--------------------------------------------------------------------------------
w17 2013-10-31 02:35:53+04:00 - build 3704

1. Continuation of 3703: pressing and holding a key cancels deletion

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 3703: блокируем удаление если зажата клавиша

--------------------------------------------------------------------------------
w17 2013-10-30 23:41:30+04:00 - build 3703

1. M#2419: Two almost identical confirmation dialogs for deletion of multiple files (from SEt)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2419: Два почти идентичных диалога подтверждения множественного удаления (from SEt)

--------------------------------------------------------------------------------
w17 2013-10-28 06:51:10+04:00 - build 3702

1. Forum: 'Use sort groups' and 'Show selected first' cannot be forced on/off

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: Use sort groups и Show selected first не могут быть принудительно включены или выключены

--------------------------------------------------------------------------------
drkns 2013-10-26 21:11:58+02:00 - build 3701

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-10-25 09:03:21+02:00 - build 3700

1. Correction of 3699.

--------------------------------------------------------------------------------
drkns 2013-10-24 22:22:03+02:00 - build 3699

1. 0002517: Invalid line number supplied in "Go to position" dialog crashes Far Manager

--------------------------------------------------------------------------------
w17 2013-10-22 22:30:45+04:00 - build 3698

1. M#2513: FAR crash on files with empty names (from SEt)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2513: Far падает на файлах с пустым именем (from SEt)

--------------------------------------------------------------------------------
svs 2013-10-18 11:41:12+04:00 - build 3697

1. SQLite 3.8.1

--------------------------------------------------------------------------------
w17 2013-10-18 00:23:12+04:00 - build 3696

1. Correction of 3300

--------------------------------------------------------------------------------
drkns 2013-10-07 20:28:43+02:00 - build 3695

1. Forgotten lancet inside 3694.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В 3694 забыли скальпель.

--------------------------------------------------------------------------------
drkns 2013-10-07 20:15:52+02:00 - build 3694

1. Once more on obtaining the caption of the console.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё раз на тему получения заголовка консоли.

--------------------------------------------------------------------------------
w17 2013-10-07 14:31:23+04:00 - build 3693

1. M#2505: duplication of Japanese characters after command run

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2505: удвоение японских символов после исполнение команды

--------------------------------------------------------------------------------
drkns 2013-10-06 13:26:56+02:00 - build 3692

1. Entering some characters in the drive change dialog could cause AV.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ввод некоторых букв в диалоге смены диска мог приводить к ислючительной ситуации.

--------------------------------------------------------------------------------
drkns 2013-10-04 22:29:28+02:00 - build 3691

1. Another correction on CtrlZ in the editor.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё одно уточнение на тему CtrlZ в редакторе.

2. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2013-10-04 14:12:40+02:00 - build 3690

1. Correction of 3654.

--------------------------------------------------------------------------------
drkns 2013-10-04 12:40:35+02:00 - build 3689

1. Correction of 3659.

--------------------------------------------------------------------------------
w17 2013-10-04 07:04:27+04:00 - build 3688

1. Forum:
   Issue #1. FAR starts with %temp% on one panel only, another one shows some old folder.
   Issue #2. Exiting FAR --> a blinking cursor is hidden in an original cmd window.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума:
   Проблема 1. Фар запускается с %temp% только на одной панели, на другой какая-то старая папка.
   Проблема 2. Выходим из Фара --> в исходном cmd окне нет мигающего курсора.

--------------------------------------------------------------------------------
drkns 2013-10-02 12:44:54+02:00 - build 3687

1. Watch for date/time format change dynamically.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Динамически отслеживаем изменение формата даты и времени.

--------------------------------------------------------------------------------
drkns 2013-10-02 11:23:30+02:00 - build 3686

1. For a date format beginning with the year it was shown without leading zero.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Для формата даты с годом вначале годы отображались без лидирующего нуля.

--------------------------------------------------------------------------------
drkns 2013-10-01 18:51:46+02:00 - build 3685

1. Restore stripping of spaces when copying text from the screen.

2. Start with an empty console caption (start "" far.exe) caused crash.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Восстановим обрезание пробелов при копировании текста с экрана.

2. Запуск с пустым заголовком консоли (start "" far.exe) приводил к зависанию.

--------------------------------------------------------------------------------
w17 2013-09-27 18:12:55+04:00 - build 3684

1. M#2499: Exception while trying to search for a file in the viewer mode

2. Editor Clipboard paste fix.vc10

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2499: Exception при попытке поиска в файле в режиме просмотра

2. Editor Clipboard paste fix.vc10

--------------------------------------------------------------------------------
svs 2013-09-26 13:02:27+04:00 - build 3683

1. Policies are removed (Policies.DisabledOptions)

--------------------------------------------------------------------------------
drkns 2013-09-25 00:08:15+02:00 - build 3682

1. 0002498: Filter cannot be disabled if there are same extensions with a different case

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002498: Невозможность отключить фильтр, если среди расширений были похоже, но в разном регистре

--------------------------------------------------------------------------------
w17 2013-09-25 00:36:10+04:00 - build 3681

1. correction of 3680

--------------------------------------------------------------------------------
drkns 2013-09-24 22:10:50+02:00 - build 3680

1. 0002497: If down arrow is pressed and held on any but last menu item then the cursor runs off the menu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002497: Если не на последнем элементе меню нажать и удерживать стрелку вниз, то курсор убегает за пределы меню

--------------------------------------------------------------------------------
w17 2013-09-23 20:33:42+04:00 - build 3679

1. M#2495: [Folders history] In the absence of an appropriate plug-in history an empty string is shown.
   (from Denis)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2495: [Folders history] При отсутствии соответсвующего плагина в истории показывается пустая строка.
   (from Denis)

--------------------------------------------------------------------------------
w17 2013-09-23 19:54:36+04:00 - build 3678

1. M#2496: Disable hotkeys highlighting in history for its slowness on large number of items
   (from Denis)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2496: Отключить подсветку горячих клавиш в историях, так как тормозит на большом количестве элементов
   (from Denis)

--------------------------------------------------------------------------------
shmuel 2013-09-22 20:02:30+02:00 - build 3677

1. Macros, experimental:
   - Plugin.Call() always works asyncronously, i.e. as before, after mmode(3,1) call.
   - If the syncronous mode is needed, use Plugin.SyncCall().
   - mmode(3,x) always returns 0 and does not influence anything.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Макросы, экспериментально:
   - Plugin.Call() всегда работает в асинхронном режиме, то-есть как работал раньше после вызова mmode(3,1).
   - Если гарантированно нужен синхронный режим, пользуемся Plugin.SyncCall().
   - mmode(3,x) всегда возвращает 0 и ни на что не влияет.

--------------------------------------------------------------------------------
drkns 2013-09-22 15:28:35+02:00 - build 3676

1. 0002492: Editor CtrlZ once more.

--------------------------------------------------------------------------------
drkns 2013-09-22 15:24:17+02:00 - build 3675

1. 0002492: Editor CtrlZ

2. Refactoring.

--------------------------------------------------------------------------------
shmuel 2013-09-21 11:50:29+02:00 - build 3674

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-09-20 23:50:03+02:00 - build 3673

1. Refactoring.

2. Folder tree manual update caused a crash.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг.

2. Ручное обновление дерева папок приводило к падению.

--------------------------------------------------------------------------------
drkns 2013-09-20 17:09:53+02:00 - build 3672

1. Refactoring.

--------------------------------------------------------------------------------
w17 2013-09-20 16:53:54+04:00 - build 3671

1. vc10 build fix

--------------------------------------------------------------------------------
drkns 2013-09-20 14:21:44+02:00 - build 3670

1. Correction of 3668.

--------------------------------------------------------------------------------
drkns 2013-09-20 13:56:44+02:00 - build 3669

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-09-19 20:07:18+02:00 - build 3668

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-09-19 13:31:43+02:00 - build 3667

1. Correction of 3666.

--------------------------------------------------------------------------------
drkns 2013-09-19 09:49:54+02:00 - build 3666

1. Correction of 3656.

2. gcc warnings.

--------------------------------------------------------------------------------
drkns 2013-09-19 09:31:02+02:00 - build 3665

1. 0002490: Editor kills end of line since ver. 3659

--------------------------------------------------------------------------------
shmuel 2013-09-19 00:01:45+02:00 - build 3664

1. M#2486: Enable Plugin.Call use in Condition.
   Plugin.SyncCall macrofunction added, see macroapi_manual.chm.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2486: Разрешить использование Plugin.Call в Condition.
   Добавлена макрофункция Plugin.SyncCall, см. macroapi_manual.chm.

--------------------------------------------------------------------------------
drkns 2013-09-18 23:15:01+02:00 - build 3663

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-09-18 18:43:08+02:00 - build 3662

1. Refactoring.

--------------------------------------------------------------------------------
w17 2013-09-18 17:12:50+04:00 - build 3661

1. Correction of 3660 (from Denis)

--------------------------------------------------------------------------------
w17 2013-09-18 13:23:02+04:00 - build 3660

1. M#2488: Special Symbols aren't shown in DialogTilte of "!?<title>?<init>!"
   Metasymbols replaced in the dialog caption (same as in the top level usermenu).

--------------------------------------------------------------------------------
drkns 2013-09-17 20:50:44+02:00 - build 3659

1. Refactoring.

--------------------------------------------------------------------------------
w17 2013-09-17 11:41:16+04:00 - build 3658

1. Forum: Malfunction of clipboard clear test

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. с форума: Перестал работать тест очистки буфера обмена

--------------------------------------------------------------------------------
drkns 2013-09-17 00:07:58+02:00 - build 3657

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-09-16 21:51:26+02:00 - build 3656

1. Do not create directories in the profile if ReadOnlyConfig==true.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не создаём папки в профиле при ReadOnlyConfig==true.

--------------------------------------------------------------------------------
shmuel 2013-09-16 20:04:27+02:00 - build 3655

1. LuaMacro plugin is given the value of "ReadOnlyConfig" FAR option, so that it does not create
   directories nor create/change/delete files, when it is disabled.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Передача плагину LuaMacro значения опции Фара "ReadOnlyConfig", чтобы не создавал папки
   и не создавал/изменял/удалял файлы, когда нельзя.

--------------------------------------------------------------------------------
drkns 2013-09-16 00:29:14+02:00 - build 3654

1. UCD wrapper is redone.
   UCD\nscore.h proved to contaminate global namespace with stuff like "#define typename"
   with predictable consequences, therefore it is removed from headers.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Переделка UCD-обёртки.
   Как выяснилось, UCD\nscore.h гадит в глобальное пространство всякими мутными дефайнами типа "#define typename"
   с предсказуемыми последствиями, поэтому уберём всё это из заголовков куда подальше.

--------------------------------------------------------------------------------
drkns 2013-09-15 21:06:55+02:00 - build 3653

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2013-09-15 21:01:09+02:00 - build 3652

1. Refactoring.

--------------------------------------------------------------------------------
w17 2013-09-12 21:07:14+04:00 - build 3651

1. M#2483: '&' modifiers do not work in main menu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2483: Не работают &-модификаторы в главном меню.

--------------------------------------------------------------------------------
drkns 2013-09-12 14:23:24+02:00 - build 3650

1. 0002482: FAR crash on attempt of copying files with privilege elevation.

2. A couple of minor issues.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002482: Фар падает при попытке скопировать файлы с повышением прав.

2. Пара мелочей.

--------------------------------------------------------------------------------
drkns 2013-09-11 23:06:23+02:00 - build 3649

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2013-09-10 23:57:52+02:00 - build 3648

1. PluginPanelItemEx renamed to SortingPanelItem.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Переименование PluginPanelItemEx -> SortingPanelItem.

--------------------------------------------------------------------------------
shmuel 2013-09-10 23:10:05+02:00 - build 3647

1. Custom panel sortings use PluginPanelItemEx structure instead of PluginPanelItem.
   (This is the breaking change, so check your code).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Кастомные сортировки в панелях используют структуру PluginPanelItemEx вместо PluginPanelItem.
   (Это ломающее изменение, пересмотрите свой код).

--------------------------------------------------------------------------------
drkns 2013-09-10 20:40:20+02:00 - build 3646

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2013-09-10 11:17:28+02:00 - build 3645

1. Custom panel sortings did not get 'ChangeTime' value.

2. GCC warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Кастомные сортировки панелей не получали значение 'ChangeTime'.

2. GCC warnings.

--------------------------------------------------------------------------------
shmuel 2013-09-10 10:43:17+02:00 - build 3644

1. Correction of 3643.

--------------------------------------------------------------------------------
drkns 2013-09-10 09:48:29+02:00 - build 3643

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2013-09-08 20:14:02+02:00 - build 3642

1. In 3641, sorting direction was broken when chosing a sorting mode via CtrlF12 menu on Enter press.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В 3641 сломалось направление сортировки при выборе режима сортировки из меню CtrlF12 по нажатию Enter.

--------------------------------------------------------------------------------
drkns 2013-09-08 17:30:27+02:00 - build 3641

1. Refactoring.

2. cppcheck warnings.

3. correction of "folder sorting by extension" mode.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг.

2. cppcheck warnings.

3. уточение режима сортировки папок по расширению.

--------------------------------------------------------------------------------
drkns 2013-09-06 13:04:00+02:00 - build 3640

1. Forum: "Somewhere between 3597-3635 a crash is observed on attempt to call "Continue" of S&R plugin in editor."

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: "В интервале билдов 3597-3635 наблюдается падение при попытке вызвать операцию "Continue" плагина S&R в редакторе."

--------------------------------------------------------------------------------
shmuel 2013-09-05 22:41:24+02:00 - build 3639

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-09-05 13:47:00+02:00 - build 3638

1. A couple of corrections of 3636.

--------------------------------------------------------------------------------
w17 2013-09-05 00:25:22+04:00 - build 3637

1. VC10 build fix.

2. -warnings.

--------------------------------------------------------------------------------
drkns 2013-09-04 21:41:29+02:00 - build 3636

1. Refactoring.

2. cppcheck warnings.

--------------------------------------------------------------------------------
shmuel 2013-09-04 19:31:48+02:00 - build 3635

1. Panel sorting menu (CtrlF12) also includes custom sorting modes if they exist.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Меню сортировок панели (CtrlF12) включает в себя и кастомные режимы сортировки, если таковые имеются.

--------------------------------------------------------------------------------
w17 2013-09-04 12:57:16+04:00 - build 3634

1. Single-character plugin prefixes are allowed with the following restrictions:
   A-Z are prohibited;
   others are allowed if there is no volume with the same name in the system (checked with QueryDosDevice)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Односимвольные префиксы плагинов допустимы, но с ограничениями:
   A-Z -- запрещены;
   остальные разрешены если в системе нет диска с таким именем (проверка через QueryDosDevice)

--------------------------------------------------------------------------------
drkns 2013-09-04 00:06:16+02:00 - build 3633

1. When copying to several targets, the taskbar button blinked after each operation.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При копировании в несколько приёмников кнопка на панели задач мигала после каждой операции.

--------------------------------------------------------------------------------
svs 2013-09-03 23:42:01+04:00 - build 3632

1. SQLite 3.8.0.2

--------------------------------------------------------------------------------
shmuel 2013-09-03 14:58:38+02:00 - build 3631

1. If a plugin running from a macro called MCTL_EXECSTRING then after MCTL_EXECSTRING execution
   screen redrawing could be disabled, so the plugin was unable to display a menu.

2. Slight refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Если плагин, вызванный из макроса, вызывал MCTL_EXECSTRING, то после исполнения MCTL_EXECSTRING
   перерисовка экрана могла быть запрещена, и плагин не мог вывести на экран меню.

2. Мелкий рефакторинг.

--------------------------------------------------------------------------------
shmuel 2013-09-02 11:19:10+02:00 - build 3630

1. FSF.CopyToClipboard() clears the clipboard if Data==NULL.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. FSF.CopyToClipboard() очищает буфер обмена при передаче Data==NULL.

--------------------------------------------------------------------------------
shmuel 2013-09-02 07:25:59+02:00 - build 3629

1. FSF.CopyToClipboard function did not copy empty strings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Функция FSF.CopyToClipboard не копировала пустую строку.

--------------------------------------------------------------------------------
zg 2013-08-31 04:12:54+02:00 - build 3628

1. forum: Crash on PCTL_GETPLUGININFORMATION call.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. с форума: Падение при вызове PCTL_GETPLUGININFORMATION.

--------------------------------------------------------------------------------
drkns 2013-08-30 22:53:31+02:00 - build 3627

1. Sending messages to a dialog before DialogRun call could cause a crash.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Посылка сообщений диалогу до выполнения DialogRun могла приводить к падению.

--------------------------------------------------------------------------------
w17 2013-08-29 16:08:18+04:00 - build 3626

1. Correction of 3261, DialogBuilder update

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 3261, допилим DialogBuilder

--------------------------------------------------------------------------------
drkns 2013-08-29 10:01:04+02:00 - build 3625

1. Incorrect handling of OPEN_FINDLIST call for ansi plugins.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Некорректно обрабатывался вызов OPEN_FINDLIST для ansi-плагинов.

--------------------------------------------------------------------------------
t-rex 2013-08-28 20:06:09+02:00 - build 3624

1. Correction of 3621, using DialogBuilder.

--------------------------------------------------------------------------------
t-rex 2013-08-28 16:35:28+02:00 - build 3623

1. Correction of 3621

2. sqlite 3.8.0

--------------------------------------------------------------------------------
w17 2013-08-28 17:24:35+04:00 - build 3622

1. Correction of 3621

--------------------------------------------------------------------------------
w17 2013-08-28 14:59:22+04:00 - build 3621

1. Error text wrapping in ChDiskDlg error dialog

--------------------------------------------------------------------------------
shmuel 2013-08-20 20:54:52+02:00 - build 3620

1. Custom panel sortings are restored after FAR restart if setup was saved,
   provided that appropriate Panel.LoadCustomSortMode() calls are done in the process of macros loading.
   Restoring is done after macros loading is complete, before autostarting macros run.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Кастомные сортировки панелей восстанавливаются при перезапуске Фара, если setup был сохранён,
   при условии, что соответствующие вызовы Panel.LoadCustomSortMode() производятся в процессе загрузки макросов.
   Восстановление происходит после окончания загрузки макросов, до начала исполнения автостартующих макросов.

--------------------------------------------------------------------------------
t-rex 2013-08-19 14:09:16+02:00 - build 3619

1. $ at the end of the replace string in regexp search inserted \x00 instead of being ignored.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. $ как последний символ строки замены при поиске с регэкспами вставлял \x00 вместо того чтоб игнорироваться.

--------------------------------------------------------------------------------
drkns 2013-08-18 13:22:27+02:00 - build 3618

1. Screen buffer could use more memory than it was necessary.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Буфер экрана мог использовать больше памяти, чем требовалось.

--------------------------------------------------------------------------------
shmuel 2013-08-17 11:56:31+02:00 - build 3617

1. M#2468: incorrect working of Editor.Value and Editor.GetStr() if the string contains \x00.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2468: некорректная работа Editor.Value и Editor.GetStr() при наличии в строке символа \x00.

--------------------------------------------------------------------------------
drkns 2013-08-17 01:36:21+02:00 - build 3616

1. Correction of 1947.1 - copying strings from the position after zero character to the clipboard caused crash.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 1947.1 - копирование в буфер строк с позиции после нулевого символа приводило к падению.

--------------------------------------------------------------------------------
t-rex 2013-08-16 23:42:58+02:00 - build 3615

1. Mantis#2465: \x00 character breaks regexp search/replace.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#2465: символ \x00 нарушает поиск/замену с регэкспами.

--------------------------------------------------------------------------------
svs 2013-08-15 12:09:54+04:00 - build 3614

1. Continuation of Mantis#0002442
   (from Smitis)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение Mantis#0002442
   (from Smitis)

--------------------------------------------------------------------------------
svs 2013-08-15 10:42:32+04:00 - build 3613

1. Correction of System.Executor.ComSpecParams - adding space symbols.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Корректировка System.Executor.ComSpecParams - пробелы сами добавим.

--------------------------------------------------------------------------------
shmuel 2013-08-15 00:28:27+02:00 - build 3612

1. Refactoring.

--------------------------------------------------------------------------------
svs 2013-08-14 18:52:13+04:00 - build 3611

1. Mantis#0002442: Add support for TakeCommand
   (from Smitis)
   Testing.

2. Experimental: strComSpecParams value in launcher (see "/C ") moved to System.Executor.ComSpecParams settings

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002442: Добавить поддержку TakeCommand
   (from Smitis)
   Тестим.

2. Экспериментально: В запускаторе значение strComSpecParams (которое "/C ") перенесено в конфиг System.Executor.ComSpecParams

--------------------------------------------------------------------------------
drkns 2013-08-14 09:40:14+02:00 - build 3610

1. Warnings.

--------------------------------------------------------------------------------
w17 2013-08-14 04:32:30+04:00 - build 3609

1. Continuation of 3602

--------------------------------------------------------------------------------
w17 2013-08-12 18:51:45+04:00 - build 3608

1. M#2462: Cannot change to root of a volume with cd\

2. -warnings

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2462: Не работает выход в корень диска по cd\

2. -warnings

--------------------------------------------------------------------------------
shmuel 2013-08-10 19:41:07+02:00 - build 3607

1. Continuation of 3604: custom sorting in panels is now working.
   See the description of Panel.SetCustomSortMode function in macroapi_manual.chm.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 3604: кастомная сортировка в панелях уже работает.
   См. описание функции Panel.SetCustomSortMode в macroapi_manual.chm.

--------------------------------------------------------------------------------
drkns 2013-08-10 18:58:13+02:00 - build 3606

1. Continuation of 3596. BOOL Initialize(GlobalInfo*) (called when loading) and
   void Free(ExitInfo*) functions  (called when unloading) are added for adapters.
   Both must be present, fill GlobalInfo properly in Initialize.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 3596. Для адаптеров добавлены функции BOOL Initialize(GlobalInfo*) (вызывается при загрузке)
   и void Free(ExitInfo*) (вызывается при выгрузке).
   Иметь надо обе, в Initialize надо правильно заполнить GlobalInfo.

--------------------------------------------------------------------------------
drkns 2013-08-09 22:32:07+02:00 - build 3605

1. Plugins loading correction.

2. Correction of panel caption drawing.

3. Uninitialized variables in copier.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение загрузки плагинов.

2. Уточнение отрисовки заголовка панели.

3. В копире иногда использовались неинициализированные переменные.

--------------------------------------------------------------------------------
shmuel 2013-08-09 20:01:49+02:00 - build 3604

1. Custom sorting in panels. Still non-operating.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Кастомная сортировка в панелях. Пока не работает.

--------------------------------------------------------------------------------
w17 2013-08-09 11:15:48+04:00 - build 3603

1. Continuation of 3602. GetPathRoot worked incorrectly for mountpoints in XP

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 3602. GetPathRoot некорректно работал для mountpoint-ов на XP

--------------------------------------------------------------------------------
w17 2013-08-09 04:54:02+04:00 - build 3602

1. M#2461: auto-create directory on the file system mounted via NTFS folder

--------------------------------------------------------------------------------
drkns 2013-08-08 21:19:33+02:00 - build 3601

1. Correction of 3597.

--------------------------------------------------------------------------------
w17 2013-08-08 17:46:03+04:00 - build 3600

1. Codepage names and typo (from Denis)

--------------------------------------------------------------------------------
drkns 2013-08-08 14:46:51+02:00 - build 3599

1. URL open from help could malfunction in some cases.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В некоторых случаях не работал запуск URL из справки.

--------------------------------------------------------------------------------
drkns 2013-08-07 23:21:18+02:00 - build 3598

1. far:config poor handling of 64 bit numbers.

2. Continuing to remove FormatString.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. far:config очень плохо работал с 64-битными числами.

2. Продолжаем истреблять FormatString.

--------------------------------------------------------------------------------
drkns 2013-08-07 01:40:10+02:00 - build 3597

1. TPreRedrawFunc is partially redone. Storing pointers to anything is ok, but data
   addressed by those pointers can have vanished to the moment of call.

2. Removing FormatString.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Частично переделан TPreRedrawFunc. Хранение указателей на что попало - это прекрасно,
   но данные по этим указателям вполне могут и не дожить до момента вызова.

2. Начинаем истреблять FormatString.

--------------------------------------------------------------------------------
drkns 2013-08-06 19:28:53+02:00 - build 3596

1. Implementing plugin adapters.
   See http://forum.farmanager.com/viewtopic.php?t=8114 for details, the description of interface is also there.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Внедряем адаптеры плагинов.
   Подробности на http://forum.farmanager.com/viewtopic.php?t=8114, описание интерфейса там же.

--------------------------------------------------------------------------------
shmuel 2013-08-06 11:44:50+02:00 - build 3595

1. In "Unsorted" panel sorting mode, when "Show selected first" option was on, selected files
   were shown last instead of first.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В режиме панельной сортировки "Unsorted" при включенной опции "Show selected first" выделенные файлы
   показывались последними, а не первыми.

--------------------------------------------------------------------------------
w17 2013-08-05 14:27:36+04:00 - build 3594

1. Missing menu item for Panel.Text.Highlight config parameter in color settings menu (from ccaid)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. для параметра конфига Panel.Text.Highlight нет соответствующего пункта в меню настройки цветов (от ccaid)

--------------------------------------------------------------------------------
w17 2013-08-05 09:33:40+04:00 - build 3593

1. Directories were deleted to recycle bin with Alt-Del

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Директория попадала в корзину при удалении по Alt-Del

--------------------------------------------------------------------------------
drkns 2013-08-04 16:11:41+02:00 - build 3592

1. Resource leak on cancelling the plugin choice menu (CtrlPgDn).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При отмене меню выбора плагина (CtrlPgDn) не освобождались ресурсы.

--------------------------------------------------------------------------------
zg 2013-08-04 00:11:41+02:00 - build 3591

1. DN_INPUT now receives FOCUS_EVENT.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. в DN_INPUT теперь приходит FOCUS_EVENT.

--------------------------------------------------------------------------------
zg 2013-08-01 18:40:31+02:00 - build 3590

1. PluginStartupInfo.Menu crash if Title == nullptr.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. PluginStartupInfo.Menu падало если Title == nullptr.

--------------------------------------------------------------------------------
drkns 2013-08-01 14:50:21+02:00 - build 3589

1. Incorrect order of owner and domain in "file owner" column.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В колонке "владелец файла" владелец и домен были не в том порядке.

--------------------------------------------------------------------------------
drkns 2013-07-31 21:56:29+02:00 - build 3588

1. More on string and nullptr.

--------------------------------------------------------------------------------
drkns 2013-07-30 20:58:19+02:00 - build 3587

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-07-30 19:28:34+02:00 - build 3586

1. Continuation of 3582.

--------------------------------------------------------------------------------
w17 2013-07-30 18:13:20+04:00 - build 3585

1. fix copy to ..

--------------------------------------------------------------------------------
drkns 2013-07-30 14:26:32+02:00 - build 3584

1. Possible double memory freeing while obtaining a list from a plugin panel.

2. ProcessOSAliases could use uninitialized data.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При получении списка с плагиновой панели могла дважды освобождаться память.

2. В ProcessOSAliases могли использоваться неинициализированные данные.

--------------------------------------------------------------------------------
drkns 2013-07-30 10:31:31+02:00 - build 3583

1. Correction of 3579.

--------------------------------------------------------------------------------
drkns 2013-07-30 00:55:42+02:00 - build 3582

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-07-29 14:50:21+02:00 - build 3581

1. The caption of the right panel was centered incorrectly when the clock was enabled.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Заголовок правой панели некорректно центрировался при включенных часах.

--------------------------------------------------------------------------------
drkns 2013-07-28 22:22:24+02:00 - build 3580

1. Correction of the previous build, there were problems with copying.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение предыдущего билда, были проблемы с копированием.

--------------------------------------------------------------------------------
drkns 2013-07-28 19:55:27+02:00 - build 3579

1. More on correct processing of "." and ".." directories - looping is removed at tree including them.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё немного на тему корректной обработки каталогов "." и ".." - убрано зацикливание при построении дерева с их участием.

--------------------------------------------------------------------------------
drkns 2013-07-28 16:34:30+02:00 - build 3578

1. More on search for all occurrences.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё на тему поиска всех вхождений.

--------------------------------------------------------------------------------
drkns 2013-07-28 15:56:53+02:00 - build 3577

1. Correction of 3570.2.

--------------------------------------------------------------------------------
w17 2013-07-28 15:17:50+04:00 - build 3576

1. Another correction of 3475

--------------------------------------------------------------------------------
drkns 2013-07-28 13:41:01+02:00 - build 3575

1. 0002453: FAR freeze on directories delete

--------------------------------------------------------------------------------
drkns 2013-07-28 12:36:50+02:00 - build 3574

1. In some cases, search for all occurrences in editor could crash

2. While searching for all occurrences, a progress indicator was calculated incorrectly.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В некоторых случаях мог падать поиск всех вхождений в редакторе.

2. При поиске всех вхождений некорректно рассчитывался индикатор прогресса.

--------------------------------------------------------------------------------
shmuel 2013-07-28 10:09:10+02:00 - build 3573

1. Crash on copying with F5 to ..\.. target directory

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Падение при копировании через F5 на путь назначения ..\..

--------------------------------------------------------------------------------
w17 2013-07-28 00:34:28+04:00 - build 3572

1. correction of 3475

--------------------------------------------------------------------------------
shmuel 2013-07-27 18:36:26+02:00 - build 3571

1. More NullToEmpty (FAR crash with Hash Calculator plugin).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё NullToEmpty (Фар падал с плагином Hash Calculator).

--------------------------------------------------------------------------------
drkns 2013-07-27 16:48:32+02:00 - build 3570

1. Wrong error text was shown at attempt of changing to inexisting volume.

2. A couple of issues in wrapper.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Показывался не тот текст ошибки при попытке перейти на отстутствующий диск.

2. Пара мелочей во враппере.

--------------------------------------------------------------------------------
drkns 2013-07-27 13:30:05+02:00 - build 3569

1. 0002452: Can't add new Mask to 'Groups of file masks' (since ver3566)

--------------------------------------------------------------------------------
shmuel 2013-07-27 12:00:50+02:00 - build 3568

1. More NullToEmpty (FAR crash with AdvCmp plugin).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё NullToEmpty (Фар падал с плагином AdvCmp).

--------------------------------------------------------------------------------
shmuel 2013-07-27 07:27:14+02:00 - build 3567

1. Crash on disk menu call.

2. GCC warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Падение при вызове меню дисков.

2. GCC warnings.

--------------------------------------------------------------------------------
w17 2013-07-27 01:23:56+04:00 - build 3566

1. -a few 'funny' crashes

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. -несколько 'весёлых' падений

--------------------------------------------------------------------------------
drkns 2013-07-26 23:18:26+02:00 - build 3565

1. Placing NullToEmpty in right places.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Расставляем NullToEmpty в нужных местах.

--------------------------------------------------------------------------------
drkns 2013-07-26 22:25:11+02:00 - build 3564

1. Placing NullToEmpty in right places.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Расставляем NullToEmpty в нужных местах.

--------------------------------------------------------------------------------
drkns 2013-07-26 21:44:01+02:00 - build 3563

1. wstring is on by default. Various funny crashes are possible.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. wstring включён по умолчанию. Возможны разнообразные весёлые падения.

--------------------------------------------------------------------------------
drkns 2013-07-26 21:05:55+02:00 - build 3562

1. GetStringBuffer = 0;

2. In one of the previous builds, plugin settings import was broken.

3. "information under panels" was not kept on exit.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. GetStringBuffer = 0;

2. В каком-то из предыдущих билдов сломался импорт настроек плагинов.

3. При выходе не сохранялась "информация под панелями".

--------------------------------------------------------------------------------
shmuel 2013-07-26 17:46:54+02:00 - build 3561

1. If FAR was started from an existing console then on closing it from a macro, a picture of closed FAR remained in the console.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Если Фар был запущен из существующей консоли, то, при завершении его из макроса, в консоли оставалось
   изображение панелей закрытого Фара.

--------------------------------------------------------------------------------
drkns 2013-07-25 23:52:08+02:00 - build 3560

1. --GetStringBuffer

--------------------------------------------------------------------------------
drkns 2013-07-25 23:04:09+02:00 - build 3559

1. --GetStringBuffer

--------------------------------------------------------------------------------
drkns 2013-07-25 22:19:25+02:00 - build 3558

1. --GetStringBuffer

--------------------------------------------------------------------------------
drkns 2013-07-25 21:32:10+02:00 - build 3557

1. --GetStringBuffer

--------------------------------------------------------------------------------
w17 2013-07-25 12:23:31+04:00 - build 3556

1. fix fix 3551

--------------------------------------------------------------------------------
w17 2013-07-25 11:11:29+04:00 - build 3555

1. fix 3551

--------------------------------------------------------------------------------
w17 2013-07-25 10:55:50+04:00 - build 3554

1. GetStringBuffer -= 1

--------------------------------------------------------------------------------
drkns 2013-07-24 22:04:58+02:00 - build 3553

1. --GetStringBuffer

--------------------------------------------------------------------------------
drkns 2013-07-24 21:40:54+02:00 - build 3552

1. GetStringBuffer -= 2;

2. Refactoring array_ptr.

--------------------------------------------------------------------------------
w17 2013-07-24 22:18:55+04:00 - build 3551

1. GetStringBuffer -= 2

--------------------------------------------------------------------------------
drkns 2013-07-24 17:54:45+02:00 - build 3550

1. Incorrect display of date in filter settings for locales using YYYY-MM-DD format.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В настройках фильтров некорректно отображалась дата для локалей, использующих формат YYYY-MM-DD.

--------------------------------------------------------------------------------
drkns 2013-07-24 12:33:57+02:00 - build 3549

1. --GetStringBuffer

--------------------------------------------------------------------------------
w17 2013-07-24 12:43:43+04:00 - build 3548

1. GetStringBuffer -= 4

--------------------------------------------------------------------------------
w17 2013-07-24 07:36:17+04:00 - build 3547

1. mf.date() UPPER

--------------------------------------------------------------------------------
drkns 2013-07-23 23:38:13+02:00 - build 3546

1. mf.date() was broken in one of the previous builds + a couple of issues.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В одном из предыдущих билдов погнулась mf.date() + ещё пара мелочей.

--------------------------------------------------------------------------------
w17 2013-07-24 00:07:21+04:00 - build 3545

1. GetStringBuffer -= 1

--------------------------------------------------------------------------------
drkns 2013-07-23 12:20:54+02:00 - build 3544

1. Garbage could be shown in some columns of disk menu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В некоторых колонках меню дисков мог отображаться мусор.

--------------------------------------------------------------------------------
drkns 2013-07-23 01:05:58+02:00 - build 3543

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-07-22 22:15:54+02:00 - build 3542

1. Refactoring.

--------------------------------------------------------------------------------
w17 2013-07-22 22:58:09+04:00 - build 3541

1. assertion -- lm:post Keys "a"

--------------------------------------------------------------------------------
drkns 2013-07-22 20:24:28+02:00 - build 3540

1. 0002449: FAR crash on exit initiated by a macro

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002449: Far падает при выходе, инициированном макросом

--------------------------------------------------------------------------------
drkns 2013-07-20 22:22:03+02:00 - build 3539

1. Correction of 3528.

--------------------------------------------------------------------------------
drkns 2013-07-20 21:45:17+02:00 - build 3538

1. Continuation of 3528.

--------------------------------------------------------------------------------
drkns 2013-07-20 19:28:48+02:00 - build 3537

1. Continuation of 3528.

--------------------------------------------------------------------------------
drkns 2013-07-20 19:14:34+02:00 - build 3536

1. Correction of 3535.

--------------------------------------------------------------------------------
drkns 2013-07-20 19:05:41+02:00 - build 3535

1. Continuation of 3528.

--------------------------------------------------------------------------------
drkns 2013-07-20 16:57:35+02:00 - build 3534

1. Continuation of 3528.

--------------------------------------------------------------------------------
drkns 2013-07-20 14:15:36+02:00 - build 3533

1. Continuation of 3528.

--------------------------------------------------------------------------------
w17 2013-07-20 12:51:48+04:00 - build 3532

1. more 3528, CtrlPgDn on files

--------------------------------------------------------------------------------
w17 2013-07-20 11:51:56+04:00 - build 3531

1. more 3528, waiting when refactorness gets rid from deprecated...

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. ещё 3528, ждём когда рефакторнесс избавится от deprecated...

--------------------------------------------------------------------------------
drkns 2013-07-20 01:16:35+02:00 - build 3530

1. Continuation of 3528.

--------------------------------------------------------------------------------
shmuel 2013-07-19 22:08:55+02:00 - build 3529

1. Correction of 3509 for End key.

--------------------------------------------------------------------------------
drkns 2013-07-19 20:22:50+02:00 - build 3528

1. Refactoring.
   UnicodeString is compatible by interface with std::wstring, FAR can be built with standard strings using USE_STD_STRING define.
   But it is still not recommended, because there are still some places with zero pointer initialization of strings and out-of-bounds string indexation.

   Bugs are possible, so be careful.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг.
   UnicodeString интерфейсно совместим с std::wstring, фар можно собрать со стандартными строками, используя дефайн USE_STD_STRING.
   Но делать этого пока что не рекомендуется, т. к. ещё присутствуют случаи инициализации строк нулевым указателем и обращения по индексу за пределами строки.

   Возможны баги, соблюдаем осторожность.

--------------------------------------------------------------------------------
svs 2013-07-18 15:57:44+04:00 - build 3527

1. Correction of 1609.3: Addition of Cut related code for CF_HDROP ("cut here, paste in Explorer - it has moved")
   As the most acceptable for cut operation key Ctrl-X is already busy (history cycling in command line),
   there is still no key chosen (the place is reserved). Any macro?

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 1609.3: Добавка кода для CF_HDROP на тему Cut ("здесь вырезали, в проводнике вставили - смувилось")
   Т.к. более приемлемое сочетание Ctrl-X для вырезания уже занято (прокрутка истории в ком.строке),
   то клавишу пока не назначили (место зарезервировано). Макрос?

--------------------------------------------------------------------------------
drkns 2013-07-18 14:10:32+02:00 - build 3526

1. Files were copied to clipboard incorrectly in CF_HDROP format.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В CF_HDROP формате неправильно копировались файлы в буфер обмена.

--------------------------------------------------------------------------------
shmuel 2013-07-17 21:51:48+02:00

1. On macros loading %FARPROFILE%\Macros\scripts\_macroinit.lua is executed first if it exists.
   The running order of other macro files is undefined.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При загрузке макросов первым всегда исполняется макрофайл %FARPROFILE%\Macros\scripts\_macroinit.lua,
   если такой файл существует. Порядок исполнения прочих макрофайлов не определён.

--------------------------------------------------------------------------------
drkns 2013-07-17 15:19:59+02:00 - build 3525

1. Continuation of M#2446: EE_SAVE gets a EditorSaveFile structure instead of a file name.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение M#2446: в событие EE_SAVE передаём не имя, а структуру EditorSaveFile.

--------------------------------------------------------------------------------
shmuel 2013-07-16 14:59:58+02:00 - build 3524

1. M#2446: EE_SAVE event must be passed the saved file name as a parameter.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2446: В событие EE_SAVE передавать параметром имя сохраняемого файла.

--------------------------------------------------------------------------------
drkns 2013-07-14 19:12:10+02:00 - build 3523

1. refix refix. yes, memset is kinda bad.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. refix refix. memset - типа плохо, да.

--------------------------------------------------------------------------------
w17 2013-07-14 20:05:25+04:00 - build 3522

1. refix refactoring

--------------------------------------------------------------------------------
drkns 2013-07-14 17:33:21+02:00 - build 3521

1. Support for compilation with Intel C++ 14.

--------------------------------------------------------------------------------
drkns 2013-07-14 12:17:59+02:00 - build 3520

1. Correction of 3519.

--------------------------------------------------------------------------------
drkns 2013-07-14 01:00:31+02:00 - build 3519

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2013-07-14 00:25:05+02:00 - build 3518

1. Macros: "Selection" and "NoSelection" flags are no longer used for editor/viewer/dialog areas.
   "EVSelection" and "NoEVSelection" should be used accordingly for these areas.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Макросы: флаги "Selection" и "NoSelection" больше не применяются для областей редактора/вьювера/диалога.
   Для этих областей следует использовать соответственно "EVSelection" и "NoEVSelection".

--------------------------------------------------------------------------------
drkns 2013-07-13 13:00:15+02:00 - build 3517

1. Refactoring.

2. Solution for VS2013 + common far.vcxproj for all versions.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг.

2. Solution для VS2013 + для всех версий теперь используется общий far.vcxproj.

--------------------------------------------------------------------------------
shmuel 2013-07-13 11:34:23+02:00 - build 3516

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-07-13 00:00:00+02:00 - build 3515

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2013-07-12 21:16:04+02:00 - build 3514

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-07-12 12:49:43+02:00 - build 3513

1. Removed checks for deprecated GCC versions.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Убраны проверки устаревших версий GCC.

--------------------------------------------------------------------------------
shmuel 2013-07-12 12:04:01+02:00 - build 3512

1. Continuation of 3509:
   correction of processing a single Up key press in an item at the beginning of the list when VMENU_WRAPMODE is active.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 3509:
   уточнение обработки одиночного нажатия клавиши Up на элементе в начале списка при активном VMENU_WRAPMODE.

--------------------------------------------------------------------------------
drkns 2013-07-12 00:38:43+02:00 - build 3511

1. Correction of 3510.

--------------------------------------------------------------------------------
drkns 2013-07-11 22:07:42+02:00 - build 3510

1. Removed limit on number of panel columns.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Снято ограничение на количество колонок в панели.

--------------------------------------------------------------------------------
shmuel 2013-07-11 17:00:14+02:00 - build 3509

1. In a menu with scroll bar, while navigating with End, PgDn, PgUp there was no way to make
   non-focusing items at the beginning/end of the list visible.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В меню со скроллингом, при навигации клавишами End, PgDn, PgUp нельзя было сделать видимыми
   нефокусируемые элементы в начале или конце списка.

--------------------------------------------------------------------------------
drkns 2013-07-10 23:48:04+02:00 - build 3508

1. Correction of 3507.

--------------------------------------------------------------------------------
drkns 2013-07-10 21:55:39+02:00 - build 3507

1. Refactoring.

2. Correction of 3506.

--------------------------------------------------------------------------------
drkns 2013-07-10 00:39:34+02:00 - build 3506

1. Refactoring.

--------------------------------------------------------------------------------
svs 2013-07-09 16:52:15+04:00

1. Help correction, incl. TI:
    #26 System.CopyTimeRule

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение хелпа, в т.ч. для TI:
    #26 System.CopyTimeRule

--------------------------------------------------------------------------------
svs 2013-07-09 11:29:32+04:00

1. Some help on privilege elevation.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Немного хелпа - про повышение полномочий.

--------------------------------------------------------------------------------
drkns 2013-07-08 23:47:50+02:00 - build 3505

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2013-07-08 20:15:33+02:00 - build 3504

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-07-05 18:34:35+02:00 - build 3503

1. More reliable storing of LastError / LastNtStatus state for Message with MSG_ERRORTYPE.

2. 0002444: Search via "App Paths" does not use %PathExt% now.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Более надёжное сохранение состояния LastError / LastNtStatus для Message c MSG_ERRORTYPE.

2. 0002444: Поиск через "App Paths" перестал использовать %PathExt%.

--------------------------------------------------------------------------------
drkns 2013-07-04 23:03:09+02:00 - build 3502

1. Refactoring.

2. Correction of minimal GCC version (4.7.1).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг.

2. Уточнение минимальной версии GCC (4.7.1).

--------------------------------------------------------------------------------
w17 2013-07-04 16:45:06+04:00 - build 3501

1. gcc 4.7.1 compilation fix

--------------------------------------------------------------------------------
shmuel 2013-07-04 15:27:46+02:00 - build 3500

1. Rollback of 3496. This also can be reached with LuaFAR library modification.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Откат 3496. Той же цели можно достичь модификацией библиотеки LuaFAR.

--------------------------------------------------------------------------------
drkns 2013-07-04 13:30:33+02:00 - build 3499

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-07-04 12:55:32+02:00 - build 3498

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-07-04 01:21:03+02:00 - build 3497

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2013-07-03 21:13:37+02:00 - build 3496

1. Forum: "Why does FAR create directories in the root of disk C".
   CreatePath inner FAR function is imported into LuaMacro plugin.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Из форума: "Зачем фар создает каталоги с корне С".
   Внутренняя функция Фара CreatePath импортирована в плагин LuaMacro.

--------------------------------------------------------------------------------
svs 2013-07-03 12:49:18+04:00 - build 3495

1. Correction of help, incl. for TI:
    #80 XLat.Layouts
    #10 XLat.Flags
    "XLat.Table*" and "XLat.Rules*" parameters are described

2. Removing a bug with Rule3 overwriting in xlat

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение хелпа, в т.ч. для TI:
    #80 XLat.Layouts
    #10 XLat.Flags
    описаны параметры "XLat.Table*" и "XLat.Rules*"

2. В xlat убираем баг с затиранием Правила3

--------------------------------------------------------------------------------
drkns 2013-07-03 00:38:12+02:00 - build 3494

1. Outer links did not (always) work in help.

2. Other issues.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не работал (или не всегда работал) запуск внешних ссылок из справки.

2. Прочие мелочи.

--------------------------------------------------------------------------------
drkns 2013-07-02 16:34:23+02:00 - build 3493

1. Avoiding the recursion in file mask groups.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Предотвращение рекурсии в группах масок файлов.

--------------------------------------------------------------------------------
svs 2013-07-02 17:15:47+04:00 - build 3492

1. Correction in help
   "так же" -> "также"
   @CopyAskOverwrite - capability of F3 on items was not described.
   @MaskGroupsSettings - list control keys were not described.

2. A link to "@MaskGroupsSettings" is added for the mask groups editing dialog

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение в хелпе
   "так же" -> "также"
   @CopyAskOverwrite - не описана возможность F3 на элементах.
   @MaskGroupsSettings - не описаны клавиши управления списком.

2. Для диалога правки группы масок добавлена ссылка на "@MaskGroupsSettings"

--------------------------------------------------------------------------------
svs 2013-07-02 11:40:49+04:00

1. Correction in help
   @MakeFolder
     creation of links
   @UserMenu
     capability of moving items with Ctrl-arrows is described

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение в хелпе
   @MakeFolder
     создание связей
   @UserMenu
     описана возможность двигать пункты с помощью Ctrl-стрелки

--------------------------------------------------------------------------------
drkns 2013-07-02 10:01:16+02:00 - build 3491

1. Correction of 3490.

2. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-07-02 01:13:32+02:00 - build 3490

1. Refactoring.

--------------------------------------------------------------------------------
svs 2013-07-01 16:30:04+04:00 - build 3489

1. Correction of build 3488
   Removing the "negation". Now:
   In config (far:config), search "Macros.ShowPlayIndicator", set it to false for switching 'P' off
   By default, 'P' is shown

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение build 3488
   Убираем "отрицание". Теперь:
   В конфиге (far:config) ищем "Macros.ShowPlayIndicator", ставим false для отключения отображения 'P'
   По умолчанию 'P' показывать

--------------------------------------------------------------------------------
svs 2013-07-01 15:09:19+04:00 - build 3488

1. Mantis#0002410: Optionally disable blinking 'P' macro execution indicator
   In config (far:config), search "Macros.DisableShowPlayMacro", set it to true
   By default, 'P' is shown

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002410: Optionally disable blinking 'P' macro execution indicator
   В конфиге (far:config) ищем "Macros.DisableShowPlayMacro", ставим true
   По умолчанию 'P' показывать

--------------------------------------------------------------------------------
w17 2013-07-01 09:49:39+04:00 - build 3487

1. M#2439: Command line prompt format: environment variables don't work anymore

--------------------------------------------------------------------------------
shmuel 2013-06-30 13:12:37+02:00

1. Capability of calling script files with arguments is added.
   This is related to: MCTL_SENDSTRING, MCTL_ADDMACRO, eval, lm:post, lm:check.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Добавлена возможность вызывать скрипт-файлы с аргументами.
   Это касается: MCTL_SENDSTRING, MCTL_ADDMACRO, eval, lm:post, lm:check.

--------------------------------------------------------------------------------
shmuel 2013-06-30 01:46:43+02:00 - build 3486

1. Refactoring.

--------------------------------------------------------------------------------
zg 2013-06-29 22:58:03+02:00 - build 3485

1. correction of 3482 for IsWordDiv: '\0' is always a words separator.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 3482 для IsWordDiv: '\0' у нас всегда разделитель слов.

--------------------------------------------------------------------------------
drkns 2013-06-29 14:58:18+02:00 - build 3484

1. Refactoring.

2. Support for compilation with VC++ 2013.

--------------------------------------------------------------------------------
shmuel 2013-06-28 23:29:19+02:00 - build 3483

1. Incorrect renamings for some constants in 3482.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Неправильные переименования некоторых констант в 3482.

--------------------------------------------------------------------------------
drkns 2013-06-28 16:40:17+02:00 - build 3482

1. Refactoring.

--------------------------------------------------------------------------------
w17 2013-06-28 16:12:45+04:00 - build 3481

1. 3475++, cursor did not follow a file when renaming it with Shift-F6

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 3475++, курсор не следовал за файлом при переименовании по Shift-F6

--------------------------------------------------------------------------------
w17 2013-06-28 15:13:42+04:00 - build 3480

1. 3475++, M#2437: Copy/Move on a mapped drive doesn't work in nightly

--------------------------------------------------------------------------------
w17 2013-06-27 20:08:50+04:00 - build 3479

1. Another correction to 3475 -- processing of file descriptions

2. Quotes are added for the name of a file with leading space characters in attributes setting dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё одно уточнение 3475 -- работа с описаниями файлов

2. Добавлены кавычки для имени файла с лидирующими пробелами в диалоге установки атрибутов.

--------------------------------------------------------------------------------
w17 2013-06-27 07:41:30+04:00 - build 3478

1. M#2435: On copying files to a directory, a new directory is created aside.
   This is the fix for 3475.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2435: При копировании файлов в директорию рядом с ней создается новая директория.
   Это фикс 3475.

--------------------------------------------------------------------------------
drkns 2013-06-26 18:48:30+02:00 - build 3477

1. Adding some 'const'ness.

--------------------------------------------------------------------------------
drkns 2013-06-25 21:41:36+02:00 - build 3476

1. Continuation of 3474.

--------------------------------------------------------------------------------
w17 2013-06-25 19:24:28+04:00 - build 3475

1. M#2420: Problem with files moved from the temporary panel by their relative paths

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2420: Проблема при перемещении файлов с временной панели по относительным путям

--------------------------------------------------------------------------------
drkns 2013-06-25 14:15:35+02:00 - build 3474

1. Analyzer warnings.

2. Refactoring.

--------------------------------------------------------------------------------
shmuel 2013-06-24 17:28:37+02:00 - build 3473

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2013-06-22 15:16:19+02:00 - build 3472

1. Corrections of 3458.

--------------------------------------------------------------------------------
lort 2013-06-20 18:59:22+04:00 - build 3471

1. Correction of 3469.

--------------------------------------------------------------------------------
drkns 2013-06-20 22:55:17+02:00 - build 3470

1. vc10.cpp/vc11.cpp are one file now.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. vc10.cpp/vc11.cpp теперь одним файлом.

--------------------------------------------------------------------------------
lort 2013-06-20 20:50:11+04:00 - build 3469

1. Menu.Filter(4) call malfunction in macros

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не работал вызов Menu.Filter(4) в макросах

--------------------------------------------------------------------------------
drkns 2013-06-20 01:17:10+02:00 - build 3468

1. VC2012 build can run in Windows 2000 SP4 + updates.

2. Default highlighting initialization error.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. VC2012-сборка может запускаться в Windows 2000 SP4 + апдейты.

2. Ошибка инициализации дефолтной раскраски.

--------------------------------------------------------------------------------
drkns 2013-06-19 20:11:42+02:00 - build 3467

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-06-18 23:40:14+02:00 - build 3466

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2013-06-18 10:44:58+02:00 - build 3465

1. The names of macro flags moved from FAR to LuaMacro plugin.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Имена флагов макросов перемещены из Фара в плагин LuaMacro.

--------------------------------------------------------------------------------
drkns 2013-06-17 23:31:47+02:00 - build 3464

1. Refactoring.

--------------------------------------------------------------------------------
w17 2013-06-17 14:53:30+04:00 - build 3463

1. Continuation of 3449 for directories. (M#2414: Cannot delete files with long name)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 3449 для каталогов. (M#2414: Не удаляется файл с длинным именем)

--------------------------------------------------------------------------------
shmuel 2013-06-15 20:14:26+02:00 - build 3462

1. Correction of 3461.

--------------------------------------------------------------------------------
shmuel 2013-06-15 12:28:39+02:00 - build 3461

1. Plugins API: MCTL_EXECSTRING allows passing arguments to called script.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Plugins API: MCTL_EXECSTRING позволяет передавать аргументы вызываемому скрипту.

--------------------------------------------------------------------------------
drkns 2013-06-15 02:40:00+02:00 - build 3460

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-06-14 20:12:14+02:00 - build 3459

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2013-06-14 16:21:37+02:00 - build 3458

1. Adding FMVT_NIL "type" - extending Plugin.Call and MacroControl(MCTL_EXECSTRING) capabilities.
   Passing from Lua to plugins meant nil -> FMVT_BOOLEAN(0) transformation before,
   and passing nil from plugins to Lua was impossible at all.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Добавление "типа" FMVT_NIL - расширяет возможности Plugin.Call и MacroControl(MCTL_EXECSTRING).
   Раньше при передаче из Lua в плагины делалось преобразование nil -> FMVT_BOOLEAN(0),
   а передать nil из плагинов в Lua было вообще невозможно.

--------------------------------------------------------------------------------
drkns 2013-06-14 01:17:12+02:00 - build 3457

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2013-06-14 00:06:14+02:00 - build 3456

1. Plugins API: MCTL_EXECSTRING operation is added to MacroControl function.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Plugins API: в функцию MacroControl добавлена операция MCTL_EXECSTRING.

--------------------------------------------------------------------------------
drkns 2013-06-13 21:35:16+02:00 - build 3455

1. Continuation of task list: adding windows with non-empty caption only (as it was before) and sorting it by name (like it was before),
   because sorting by PID has no sense.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение списка задач: добавляем только окна с непустым заголовком (как и было раньше) и сортируем по имени (как и было раньше),
   т. к. сортировка по PID особого смысла не имеет.

--------------------------------------------------------------------------------
drkns 2013-06-13 17:27:23+04:00 - build 3454

1. The meaning of previous commit is not quite clear: GetModuleFileNameEx is available on XP and already used in apiGetModuleFileNameEx.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Как-то не совсем понятен смысл предыдущего коммита: GetModuleFileNameEx есть в XP и уже используется в apiGetModuleFileNameEx.

--------------------------------------------------------------------------------
w17 2013-06-13 18:23:56+04:00 - build 3453

1. Another correction of 3451
   GetProcessImageNameW -- available on xp

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё уточнение 3451
   GetProcessImageNameW -- на xp есть

--------------------------------------------------------------------------------
svs 2013-06-13 18:09:50+04:00 - build 3452

1. Correction of 3451
   QueryFullProcessImageNameW -- unavailable on xp

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 3451
   QueryFullProcessImageNameW -- на xp нет

--------------------------------------------------------------------------------
svs 2013-06-13 13:34:37+04:00 - build 3451

1. Small changes in process list (Ctrl-W).
   a) process PID is added.
   b) F2 switches the view:
      "PID + process window caption"
      "PID + executable path"
   c) the list is sorted by PID

   The list includes duplicate items by PID - it's ok, "move" to a necessary window is performed correctly.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Небольшие изменения в списке процессов (Ctrl-W).
   а) добавлено отображение PID процесса.
   б) клавишей F2 можно переключать вид:
      "PID + заголовок окна процесса"
      "PID + путь к исполняемому модулю процесса"
   в) список отсортирован по PID

   В список попадают дублированные элементы по PID - ничего страшного, "переход" в нужное окно осуществляется корректно.

--------------------------------------------------------------------------------
drkns 2013-06-12 21:24:50+02:00 - build 3450

1. 0002424: Undo does not restore bookmarks

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002424: Undo не восстанавливает закладки

--------------------------------------------------------------------------------
w17 2013-06-12 15:06:41+04:00 - build 3449

1. M#2414: One cannot delete filea with long name -- deletion without recycle bin is still available

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2414: Не удаляется файл с длинным именем -- можно выбрать удаление без корзины

--------------------------------------------------------------------------------
shmuel 2013-06-12 13:23:17+02:00 - build 3448

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2013-06-10 14:38:45+02:00 - build 3447

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2013-06-10 02:03:06+02:00 - build 3446

1. M#2307: On msgbox call from condition(), the msgbox closing key is passed further (not consumed).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2307: При вызове msgbox из condition(), ключ закрытия msgbox передаётся дальше (не съедается).

--------------------------------------------------------------------------------
svs 2013-06-06 16:03:29+04:00

1. Menu filtering with RAlt is noted in help.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Про RAlt для фильтрации меню - в хелпе укажим.

--------------------------------------------------------------------------------
drkns 2013-06-06 00:33:31+02:00 - build 3445

1. Refactoring.

2. Deprecated items are removed from viewer/editor local settings dialogs.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг.

2. Из диалогов локальных настроек редактора/вьювера убраны неактуальные элементы.

--------------------------------------------------------------------------------
shmuel 2013-06-04 21:12:53+02:00 - build 3444

1. Refactoring.

2. GCC warnings.

--------------------------------------------------------------------------------
w17 2013-06-01 17:07:58+04:00 - build 3443

1. Correction of 3439.

--------------------------------------------------------------------------------
drkns 2013-06-01 11:04:26+02:00 - build 3442

1. Correction of 3440.

2. A couple of minor issues.

--------------------------------------------------------------------------------
w17 2013-06-01 09:41:07+04:00 - build 3441

1. gcc build fix

--------------------------------------------------------------------------------
drkns 2013-06-01 01:31:00+02:00 - build 3440

1. We contiue to break panel modes:
   - insertion and deletion work in menu (ins/del respectively)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжаем ломать режимы панели:
   - в меню работают добавление и удаление (ins/del соответственно)

--------------------------------------------------------------------------------
w17 2013-05-31 17:14:08+04:00 - build 3439

1. M#1511: Shift_jis encoding -- view must work for all 2-byte encodings

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#1511: кодировка Shift_jis -- должен работать просмотр для всех 2-х байтовых кодировок

--------------------------------------------------------------------------------
w17 2013-05-31 11:51:32+04:00 - build 3438

1. M#2418: a problem with shortcuts import from Default.farconfig

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2418: Проблема импорта shortcuts из Default.farconfig

--------------------------------------------------------------------------------
drkns 2013-05-30 20:59:59+02:00 - build 3437

1. We contiue to break panel modes:
   - a mode can be renamed;
   - a mode can be reset to default settings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжаем ломать режимы панели:
   - режим можно переименовывать;
   - режим можно сбросить к настройкам по умолчанию.

--------------------------------------------------------------------------------
shmuel 2013-05-30 18:24:39+02:00 - build 3436

1. Plugins API:
   * KMFLAGS_DISABLEOUTPUT is the default value now and is ignored by FAR.
   * A new flag is added: KMFLAGS_ENABLEOUTPUT.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Plugins API:
   * KMFLAGS_DISABLEOUTPUT теперь является значением по умолчанию и игнорируется Фаром.
   * Добавлен новый флаг KMFLAGS_ENABLEOUTPUT.

--------------------------------------------------------------------------------
shmuel 2013-05-30 11:29:22+02:00 - build 3435

1. LuaMacro plugin is given exact information on FAR /e or /v keys.

2. Correction of 3434 (VC build failure).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Передача плагину LuaMacro точной информации о ключах запуска Фара /e или /v.

2. Уточнение 3434 (не собирался под VC).

--------------------------------------------------------------------------------
drkns 2013-05-30 00:47:06+02:00 - build 3434

1. Unlimited number of panel modes.
   There's no interface for adding/removing modes so far, nevertheless a real Jedi can edit panelmodes.db.

2. The modes can be switched with CtrlEnter in panel mode editing menu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. У нас теперь может быть сколько угодно режимов панели.
   Интерфейса для добавления/удаления режимов пока нет, но настоящие джедаи могут отредактировать panelmodes.db.

2. Переключать режимы можно по CtrlEnter в меню редактирования режимов панели.

--------------------------------------------------------------------------------
shmuel 2013-05-29 17:52:04+02:00 - build 3433

1. Experimental: autostarting macros work on FAR start with /e and /v keys.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Экспериментально: автостартующие макросы работают при запуске Фара с ключами /e и /v.

--------------------------------------------------------------------------------
drkns 2013-05-29 17:12:23+02:00 - build 3432

1. Broken reading from standard input in viewer.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не работало чтение из стандартного входа во вьювере.

--------------------------------------------------------------------------------
shmuel 2013-05-28 22:43:14+02:00 - build 3431

1. M#1662: Improper behavior of macros with mmode().

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#1662: Неадекватное поведение макросов с mmode().

--------------------------------------------------------------------------------
w17 2013-05-27 12:24:16+04:00 - build 3430

1. GCC again -- NetDfsGetInfo dynamic loading, lame mingw builds should accept it

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. GCC again -- динамическая загрузка NetDfsGetInfo, должны работать кривые сборки mingw

--------------------------------------------------------------------------------
w17 2013-05-27 06:17:07+04:00 - build 3429

1. GCC++.

--------------------------------------------------------------------------------
drkns 2013-05-26 19:53:59+02:00 - build 3428

1. GCC.

--------------------------------------------------------------------------------
shmuel 2013-05-26 18:42:19+02:00 - build 3427

1. M#1663: Macros do not work from user menu on large amount of items on a panel.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#1663: Не работают макросы из user menu при большом количестве объектов на панели.

--------------------------------------------------------------------------------
w17 2013-05-26 00:53:26+04:00 - build 3426

1. correction of 3425 -- NetDfsGetInfo does not need dynamic loading

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 3425 -- NetDfsGetInfo не нужна динамическая загрузка

--------------------------------------------------------------------------------
w17 2013-05-26 00:04:03+04:00 - build 3425

1. M#2412: DFS links view on CtrlA

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2412: просмотр ссылок DFS по CtrlA

--------------------------------------------------------------------------------
shmuel 2013-05-24 15:43:21+02:00 - build 3424

1. Forum: After Keys("ShiftF6 End ! Enter") macro run on a file,
          Far caption stays "Rename/Move ..."

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Из форума: После выполнения на файле макроса Keys("ShiftF6 End ! Enter")
              в заголовке Far'a остаётся "Rename/Move ..."

--------------------------------------------------------------------------------
drkns 2013-05-23 23:02:08+02:00 - build 3423

1. Malfunction of virtual drives detection and removal.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не работали определение и извлечение виртуальных дисков.

--------------------------------------------------------------------------------
w17 2013-05-23 19:21:06+04:00 - build 3422

1. M#2413: Selection restored incorrectly after the selected file moved on ShiftF6

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2413: Неправильно восстанавливается пометка после перемещения выделенного файла по ShiftF6

--------------------------------------------------------------------------------
t-rex 2013-05-22 17:29:36+02:00 - build 3421

1. RegExp search in viewer used RegExp API incorrectly, back reference (\NN) could not be used.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Поиск RegExp в просмотре некорректно использовал RegExp API, нельзя было использовать back reference (\NN).

2. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2013-05-22 01:35:24+02:00 - build 3420

1. Incorrect display of strings containing quotes in replace confirmation dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В диалоге подтверждения замены криво отображались строки, содержащие кавычки.

--------------------------------------------------------------------------------
drkns 2013-05-20 21:50:11+02:00 - build 3419

1. Refactoring.

--------------------------------------------------------------------------------
svs 2013-05-20 21:13:22+04:00 - build 3418

1. SQLite 3.7.17

--------------------------------------------------------------------------------
drkns 2013-05-20 17:31:22+02:00 - build 3417

1. Correction of settings loading.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение чтения конфигурации.

--------------------------------------------------------------------------------
drkns 2013-05-16 20:30:12+02:00 - build 3416

1. Move TreeList::FlushCache() to a more appropriate place, so it does not block exit in case of failure.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Перенесём TreeList::FlushCache() в более подходящее место, дабы она при неудаче не блокировала выход.

--------------------------------------------------------------------------------
drkns 2013-05-16 20:02:27+02:00 - build 3415

1. A typo in TreeList::FlushCache()

--------------------------------------------------------------------------------
shmuel 2013-05-16 01:32:15+02:00 - build 3414

1. Correction of 3412.

--------------------------------------------------------------------------------
drkns 2013-05-15 23:43:01+02:00 - build 3413

1. Refactoring.

2. VC warning.

--------------------------------------------------------------------------------
shmuel 2013-05-15 23:22:20+02:00 - build 3412

1. Refactoring (enum MACROMODEAREA is removed).

--------------------------------------------------------------------------------
shmuel 2013-05-15 18:00:53+02:00 - build 3411

1. Refactoring.

--------------------------------------------------------------------------------
t-rex 2013-05-14 23:43:54+02:00 - build 3410

1. Mantis#2409: FAR crashes when moving a directory (even with no plugin).

2. A sort of extension for ANSI plugins, the plugin's GUID can be specified in VersionInfo in PluginGUID field.
   The GUID is a string without {}.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#2409: FAR crashes when moving a directory (even with no plugin).

2. Эдакое расширение для анси плагинов, в VersionInfo можно задать GUID плагина в поле PluginGUID.
   Гуид должен быть строкой без {}.

--------------------------------------------------------------------------------
w17 2013-05-14 23:16:28+04:00 - build 3409

1. Another correction of 3388.

--------------------------------------------------------------------------------
drkns 2013-05-14 16:47:32+02:00 - build 3408

1. Refactoring.

--------------------------------------------------------------------------------
t-rex 2013-05-14 10:02:15+02:00 - build 3407

1. Let plugins create empty-named values in their DB and disable creation of such keys.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Разрешим плагинам создавать в своей базе значения с пустым именем, и заодно запретим создавать такие ключи.

--------------------------------------------------------------------------------
drkns 2013-05-14 09:57:32+02:00 - build 3406

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2013-05-14 09:33:00+02:00 - build 3405

1. Correction of 3404.

--------------------------------------------------------------------------------
shmuel 2013-05-14 09:03:57+02:00 - build 3404

1. GCC warnings.

--------------------------------------------------------------------------------
w17 2013-05-13 14:54:22+04:00 - build 3403

1. Revert 3400

--------------------------------------------------------------------------------
drkns 2013-05-10 14:49:03+02:00 - build 3402

1. Continuation of 3401.

--------------------------------------------------------------------------------
drkns 2013-05-10 14:17:17+02:00 - build 3401

1. Continuation of 3157. Memory usage of editor highlighting is reduced approximately by one thirth.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 3157. Потребление памяти редакторной раскраской сокращено примерно на треть.

--------------------------------------------------------------------------------
w17 2013-05-08 23:57:50+04:00 - build 3400

1. M#1479: The find function should let pass a not visible (hidden) files

--------------------------------------------------------------------------------
w17 2013-05-08 17:27:18+04:00 - build 3399

1. M#2316: add FarGuid

--------------------------------------------------------------------------------
w17 2013-05-08 15:09:55+04:00 - build 3398

1. M#2407: Allow to disable BOM generation for UTF codepages in new files

--------------------------------------------------------------------------------
t-rex 2013-05-07 23:35:51+02:00 - build 3397

1. Correction of 3342 + refactoring.
   Privilege elevation query was displayed entering c:\Users\user\Application Data, for example.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Коррекция 3342 + рефакторинг.
   Появлялся запрос повышения привилегий при заходе например в c:\Users\user\Application Data.

--------------------------------------------------------------------------------
w17 2013-05-07 21:02:44+04:00 - build 3396

1. multiarc + folder shortcut

--------------------------------------------------------------------------------
drkns 2013-05-07 17:13:55+02:00 - build 3395

1. Correction of 3393.

--------------------------------------------------------------------------------
shmuel 2013-05-07 16:42:49+02:00 - build 3394

1. M#2222: MacroControl MCTL_SENDSTRING returns 0 in "Keys('F11') Menu.Select('FarNet', 2) Keys('Enter')"

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2222: MacroControl MCTL_SENDSTRING возвращает 0 при "Keys('F11') Menu.Select('FarNet', 2) Keys('Enter')"

--------------------------------------------------------------------------------
drkns 2013-05-07 15:05:37+02:00 - build 3393

1. Continuation of 3388: move versioninfo processing to a separate class.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 3388: вынесем работу с versioninfo в отдельный класс.

--------------------------------------------------------------------------------
w17 2013-05-07 14:52:09+04:00 - build 3392

1. Correction of 3388 (unused code removed should fix gcc compilation)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение+ 3388 (unused code removed should fix gcc compilation)

--------------------------------------------------------------------------------
w17 2013-05-07 11:05:10+04:00 - build 3391

1. fix gcc build

--------------------------------------------------------------------------------
w17 2013-05-07 10:21:05+04:00 - build 3390

1. Correction of 3388

--------------------------------------------------------------------------------
t-rex 2013-05-07 00:03:07+02:00 - build 3389

1. For ECTL_SAVEFILE, CodePage=CP_DEFAULT can be set to save the file in the current codepage.

2. ECTL_SAVEFILE, being called from ANSI plugins, did not set the codepage, so files could be messed up.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Для ECTL_SAVEFILE можно задавать CodePage=CP_DEFAULT чтоб сохранить в текущей кодировке.

2. ECTL_SAVEFILE из анси плагинов не выставлял кодировку что могло портить файлы.

--------------------------------------------------------------------------------
w17 2013-05-06 18:05:16+04:00 - build 3388

1. M#2079: Links to FTP folders are not stored in folder links.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2079: Не запоминаются в ссылках на папки ссылки на FTP папки

--------------------------------------------------------------------------------
drkns 2013-05-04 16:01:20+02:00 - build 3387

1. Correction of 3358.1: translation of exceptions did not take place for threads except the main one.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 3358.1: трансляция исключений не выполнялась для неосновых нитей.

--------------------------------------------------------------------------------
drkns 2013-05-03 16:44:16+02:00 - build 3386

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-05-03 01:07:27+02:00 - build 3385

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-05-02 22:08:17+02:00 - build 3384

1. Forum: error in Help::MkTopic.

--------------------------------------------------------------------------------
drkns 2013-05-02 17:47:12+02:00 - build 3383

1. Correction of 3367.1.

--------------------------------------------------------------------------------
drkns 2013-05-02 16:42:48+02:00 - build 3382

1. Grammar in help.

2. Search for all occurrences in editor now shows the whole line and highlights a target.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Грамматика в справке.

2. Поиск всех вхождений в редакторе теперь показывает всю строку и подсвечивает искомое.

--------------------------------------------------------------------------------
drkns 2013-05-02 12:18:40+02:00 - build 3381

1. Completion malfunction in modal mode.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Криво работало дополнение в модальном режиме.

--------------------------------------------------------------------------------
drkns 2013-05-01 16:06:56+02:00 - build 3380

1. cppcheck warnings.

--------------------------------------------------------------------------------
drkns 2013-04-30 22:17:54+02:00 - build 3379

1. Continuation of 0002294.

--------------------------------------------------------------------------------
drkns 2013-04-30 21:22:39+02:00 - build 3378

1. Continuation of 0002294.

--------------------------------------------------------------------------------
zg 2013-04-30 09:19:06+02:00 - build 3377

1. EditorControl(EditorID,...) works for current editor given the real EditorID from EE_READ and EE_CLOSE.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. EditorControl(EditorID,...) работает для текущего редактора при реальном EditorID из EE_READ и EE_CLOSE.

--------------------------------------------------------------------------------
w17 2013-04-30 08:56:12+04:00 - build 3376

1. M#2403: Current file after deletion

--------------------------------------------------------------------------------
drkns 2013-04-29 22:43:33+02:00 - build 3375

1. Refactoring.

--------------------------------------------------------------------------------
t-rex 2013-04-29 17:25:29+02:00 - build 3374

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-04-29 00:30:39+02:00 - build 3373

1. Refactoring.

--------------------------------------------------------------------------------
t-rex 2013-04-28 15:57:33+02:00 - build 3372

1. Mantis#2382: far /clearcache

--------------------------------------------------------------------------------
t-rex 2013-04-28 12:04:51+02:00 - build 3371

1. A minor breaking change in API.
   EE_CHANGE editor event is not sent now by default, an interested plugin must subscribe
   to it. The subscription takes place for the current editor session.
   Subscription:

   EditorSubscribeChangeEvent esce = { sizeof(EditorSubscribeChangeEvent), PluginGuid };
   Info.EditorControl(EditorID, ECTL_SUBSCRIBECHANGEEVENT, 0, &esce);

   To unsubscribe (if needed):
   Info.EditorControl(EditorID, ECTL_UNSUBSCRIBECHANGEEVENT, 0, &esce);

   P.S. Implementation is not ideal, no other ideas so far.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Мелкое ломающее изменение в API.
   Эвент редактора EE_CHANGE теперь не посылается по умолчанию, плагин который заинтересован получать этот эвент
   должен на него подписаться. Подписка происходит для конкретной сессии редактора.
   Чтоб подписаться на эвент:

   EditorSubscribeChangeEvent esce = { sizeof(EditorSubscribeChangeEvent), PluginGuid };
   Info.EditorControl(EditorID, ECTL_SUBSCRIBECHANGEEVENT, 0, &esce);

   И отписаться (если нужно):
   Info.EditorControl(EditorID, ECTL_UNSUBSCRIBECHANGEEVENT, 0, &esce);

   P.S. Внутреняя имплемантация вроде как не ахти, но пока других идей нету.

--------------------------------------------------------------------------------
t-rex 2013-04-27 23:30:06+02:00 - build 3370

1. Preparing for moving EE_CHANGE to subscription to the event,
   because almost noone needs it, and sending it to everyone and each time slows things down.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Подготовка к переводу EE_CHANGE на подписываемый эвент,
   ибо он почти никому не нужен а при посылке всем и всегда приводит к тормозам.
   Пока что только заготовка, ничего не поменялось ещё.

--------------------------------------------------------------------------------
t-rex 2013-04-27 22:33:02+02:00 - build 3369

1. Removing those macros from plugin.hpp, no use for them.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Удалим вообще эти макросы из plugin.hpp, смысла в них особо нету.

--------------------------------------------------------------------------------
t-rex 2013-04-27 17:23:23+02:00 - build 3368

1. Fix for several rarely used macros in plugin.hpp.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Исправлены несколько редко используемых макросов в plugin.hpp.

--------------------------------------------------------------------------------
drkns 2013-04-25 22:28:30+02:00 - build 3367

1. Trying "window subsystem". So far, just removal of unused code.

2. In some cases, closing the console froze FAR.

3. A couple of minor issues.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Осторожно пощупаем "оконную подсистему". Пока что просто удаление неиспользуемого кода.

2. В некоторых случаях наблюдалось зависание при закрытии консоли.

3. Пара мелочей.

--------------------------------------------------------------------------------
t-rex 2013-04-25 14:06:10+02:00 - build 3366

1. Mantis#2395: One cannot add a filter if the filters list is empty.
   For FFT_CUSTOM.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#2395: Невозможно добавить фильтр если список фильтров пустой.
   Для FFT_CUSTOM.

--------------------------------------------------------------------------------
t-rex & drkns 2013-04-25 10:12:00+02:00 - build 3365

1. Refactoring of FileSystemWatcher, optimization and fix for an odd problem with plugins like PicView in QuickView mode, which appeared in 3348.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг FileSystemWatcher, оптимизация и также решает странную проблему с плагинами типа PicView при просмотре в QuickView, появившеюся в 3348.

--------------------------------------------------------------------------------
w17 2013-04-23 18:48:10+04:00 - build 3364

1. M#2370: artifacts in editor/viewer called from usermenu

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2370: артефакты в редакторе/просмотрщике при вызове из usermenu

--------------------------------------------------------------------------------
w17 2013-04-23 01:00:56+04:00 - build 3363

1. 2394: FAR 3 build 3348: panels are drawn while editor is active -- next try

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 2394: FAR 3 build 3348: панели рисуются в то время как активен редактор -- next try

--------------------------------------------------------------------------------
t-rex 2013-04-21 23:51:13+02:00 - build 3362

1. Editor search optimization.

--------------------------------------------------------------------------------
drkns 2013-04-21 19:52:22+02:00 - build 3361

1. Correction of 3301.

--------------------------------------------------------------------------------
t-rex 2013-04-21 00:13:24+02:00 - build 3360

1. Missed in 3342 that StartFSWatcher() is virtual.
   It could lead to strange redrawing bugs in random cases (Mantis#2394).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В 3342 не заметил что StartFSWatcher() виртуальная.
   Могло приводить к странным глюкам перерисовки в неопределённых случаях (Mantis#2394).

--------------------------------------------------------------------------------
w17 2013-04-20 20:29:56+04:00 - build 3359

1. Forum: align the real names of keybar areas with the macro API.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: приводим настоящие имена областей кейбаров в соответствие с макро-апи.

--------------------------------------------------------------------------------
drkns 2013-04-20 17:32:12+02:00 - build 3358

1. Handling structured exceptions as C++ exceptions.

2. /x key and ExceptRules parameter is removed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Обрабатываем структурные исключения как C++-исключения.

2. Ключа /x и параметра ExceptRules больше нет.

--------------------------------------------------------------------------------
drkns 2013-04-20 02:39:36+02:00 - build 3357

1. A couple of minor issues.

--------------------------------------------------------------------------------
drkns 2013-04-20 02:30:33+02:00 - build 3356

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-04-18 23:11:39+02:00 - build 3355

1. In 3322, asynchronous DB processing was broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В 3322 погнулась асинхронная работа с БД.

--------------------------------------------------------------------------------
t-rex 2013-04-18 16:43:02+02:00 - build 3354

1. Correction of 3349, FAR crash if plugins with the same GUID are available.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Коррекция 3349, фар падал при наличие больше одного плагина с одним и тем же GUID.

--------------------------------------------------------------------------------
drkns 2013-04-18 16:37:58+02:00 - build 3353

1. Rollback of 3352.

--------------------------------------------------------------------------------
drkns 2013-04-18 16:24:32+02:00 - build 3352

1. Correction of 3351.

--------------------------------------------------------------------------------
t-rex 2013-04-18 16:04:54+02:00 - build 3351

1. Unimportant memory leak.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не очень важный мемори лик.

--------------------------------------------------------------------------------
svs 2013-04-18 15:31:10+04:00 - build 3350

1. Correction of 3346

--------------------------------------------------------------------------------
t-rex 2013-04-18 13:14:37+02:00 - build 3349

1. Correction of 3343.1, it must also fix various bizarre bugs appeared after 3343.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Коррекция 3343.1, должно также исправить разные странные глюки которые появились после 3343.

--------------------------------------------------------------------------------
t-rex 2013-04-18 11:30:20+02:00 - build 3348

1. Some more Mantis#2350.
   Asynchronous subscription on change notifications.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё немного Mantis#2350.
   Асинхронная подписка на change notification.

--------------------------------------------------------------------------------
drkns 2013-04-18 09:39:27+02:00 - build 3347

1. 0002377: Far Manager v3.0 build 3345 creates empty files when it does copying

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002377: Far Manager v3.0 build 3345 создает пустые файлы при копировании

--------------------------------------------------------------------------------
svs 2013-04-18 09:29:05+04:00 - build 3346

1. UserMenu. If a menu item shows additional parameters dialog, then show the name of the item in the caption of the dialog.

   <inside>
     fnparce.cpp::SubstFileName()    - the first parameter is the caption of the dialog.
     fnparce.cpp::ReplaceVariables() - dialog frame moved to position 0 (it was the last one earlier). This is to the question of possible bugs :-)
   </inside>

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. UserMenu. Если пункт меню выводит диалог запроса доп.параметров, то в заголовке диалога показываем имя этого пункта меню.

   <inside>
     fnparce.cpp::SubstFileName()    - первым параметром идет то, что будет в качестве заголовка диалога.
     fnparce.cpp::ReplaceVariables() - рамка диалога перемещена в позицию 0 (раньше была последней). Это про возможные глюки :-)
   </inside>

--------------------------------------------------------------------------------
drkns 2013-04-17 23:54:41+02:00 - build 3345

1. Correction of 3343.2.

--------------------------------------------------------------------------------
drkns 2013-04-17 23:00:51+02:00 - build 3344

1. 0000501: apiCreateFile rights for the Editor.

--------------------------------------------------------------------------------
drkns 2013-04-17 22:39:03+02:00 - build 3343

1. 0002373: in PluginsControl, access enabled incorrectly to information on unloaded plugins.

2. Third-party libraries (UCD, sqlite, tinyxml) are placed in appropriate namespaces.

3. Other minor refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002373: в PluginsControl ошибочно доступна информация о незагруженных плагинах.

2. Сторонние библиотеки (UCD, sqlite, tinyxml) помещены в соответствующие неймспейсы.

3. Прочий мелкий рефакторинг.

--------------------------------------------------------------------------------
t-rex 2013-04-17 19:41:06+02:00 - build 3342

1. Some more Mantis#2350.

--------------------------------------------------------------------------------
drkns 2013-04-17 13:36:23+02:00 - build 3341

1. 0002371: F5 copying error

--------------------------------------------------------------------------------
drkns 2013-04-17 01:01:52+02:00 - build 3340

1. A couple of minor fixes.

--------------------------------------------------------------------------------
drkns 2013-04-16 21:29:44+02:00 - build 3339

1. Refactoring.

--------------------------------------------------------------------------------
w17 2013-04-16 16:56:10+04:00 - build 3338

1. M#2184: Incorrect UNDO functioning in built-in editor.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2184: Некорректно работает UNDO во внутреннем редакторе.

--------------------------------------------------------------------------------
svs 2013-04-16 15:27:59+04:00 - build 3337

1. Continuing ShowHelp editing.
   Now if (there is FHELP_GUID flag and (ModuleName == empty_string or ModuleName == zero_filled_GUID/FarGuid))
   then the action is similar to FHELP_FARHELP flag.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжаем править ShowHelp.
   Теперь, если (есть флаг FHELP_GUID и (параметр ModuleName == пустой_строке или ModuleName == GUID_из_нулей/FarGuid))
   то действие аналогично флагу FHELP_FARHELP.

--------------------------------------------------------------------------------
drkns 2013-04-16 00:28:35+02:00 - build 3336

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2013-04-15 21:20:44+02:00 - build 3335

1. On exit from FAR, LuaMacro plugin is unloaded last (otherwise processing of MCTL_XXX requests in ExitFARW of other plugins could be omitted).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При выходе из Фара плагин LuaMacro выгружается последним (иначе могут не обрабатываться
   запросы MCTL_XXX из ExitFARW других плагинов).

--------------------------------------------------------------------------------
t-rex 2013-04-15 20:57:00+02:00 - build 3334

1. Once more Mantis#2350.

--------------------------------------------------------------------------------
svs 2013-04-15 16:20:00+04:00 - build 3333

1. Mantis#0001413: hlf:%farhome%\filename [topic]

   API: FHELP_GUID flag added for ShowHelp
   In this case the first parameter is considered as the GUID of the plugin the theme being shown belongs to, depending on interface language (hint:FHELP_CUSTOMPATH)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001413: hlf:%farhome%\filename [topic]

   API: Для ShowHelp добавлен флаг FHELP_GUID
   В этом случае первый параметр рассматривается как GUID на плагин, тему которого нужно показать, в зависимости от языка интерфейса (hint:FHELP_CUSTOMPATH)

--------------------------------------------------------------------------------
shmuel 2013-04-15 14:43:27+02:00 - build 3332

1. Preventing crashes on exit from FAR in case of plugins calling MCTL_XXX in ExitFARW.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Предотвращение падений на выходе из Фара в случае, если плагины вызывают MCTL_XXX из ExitFARW.

--------------------------------------------------------------------------------
drkns 2013-04-14 18:16:54+02:00 - build 3331

1. Correction of 3318.

--------------------------------------------------------------------------------
t-rex 2013-04-14 14:07:27+02:00 - build 3330

1. Mantis#2350: Lags accessing Android via Samba.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#2350: Притормаживает при доступе по Samba к Android.

--------------------------------------------------------------------------------
drkns 2013-04-14 12:26:10+02:00 - build 3329

1. Once more 0002367.

--------------------------------------------------------------------------------
drkns 2013-04-13 22:57:39+02:00 - build 3328

1. 0002367: Problem with starting apps from Junction/Symlink folders

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002367: Проблема с запуском программ из папок, являющихся Junction/Symlink

--------------------------------------------------------------------------------
svs 2013-04-12 21:35:09+04:00 - build 3327

1. SQLite 3.7.16.2

--------------------------------------------------------------------------------
drkns 2013-04-12 13:49:34+02:00 - build 3326

1. 0002366: FAR freezes on searching a text in an archive protected with password

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002366: FAR виснет при поиске текста в архиве с паролем

--------------------------------------------------------------------------------
drkns 2013-04-12 12:49:34+02:00 - build 3325

1. Correction of console caption redrawing.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение перерисовки заголовка консоли.

--------------------------------------------------------------------------------
shmuel 2013-04-12 01:15:24+02:00 - build 3324

1. Refactoring.

2. Correction of 3323.

--------------------------------------------------------------------------------
drkns 2013-04-12 00:45:48+02:00 - build 3323

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-04-11 23:11:05+02:00 - build 3322

1. Using 'override' keyword in derived classes.

2. A couple of minor things.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Используем ключевое слово 'override' в производных классах.

2. Пара мелочей.

--------------------------------------------------------------------------------
drkns 2013-04-10 21:46:38+02:00 - build 3321

1. 0002146: Privilege API for NetBox plugin

--------------------------------------------------------------------------------
t-rex 2013-04-10 13:47:20+02:00 - build 3320

1. Asynchronous history of viewer/editor positions.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Асинхронная история позиций редактора/просмотра.

--------------------------------------------------------------------------------
drkns 2013-04-10 12:15:01+02:00 - build 3319

1. ChangeTime was not filled in GetPanelItem.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В GetPanelItem не заполнялось ChangeTime.

--------------------------------------------------------------------------------
drkns 2013-04-10 11:30:59+02:00 - build 3318

1. ChangeTime was not filled in FarGetDirList.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В FarGetDirList не заполнялось ChangeTime.

--------------------------------------------------------------------------------
drkns 2013-04-10 00:18:55+02:00 - build 3317

1. Another portion of refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё порция рефакторинга.

--------------------------------------------------------------------------------
drkns 2013-04-09 19:53:37+02:00 - build 3316

1. Refactoring.

--------------------------------------------------------------------------------
t-rex 2013-04-09 19:12:39+02:00 - build 3315

1. Minor refactoring.

--------------------------------------------------------------------------------
t-rex 2013-04-09 18:45:22+02:00 - build 3314

1. Minor refactoring.

--------------------------------------------------------------------------------
t-rex 2013-04-09 18:01:37+02:00 - build 3313

1. Forgotten initialization of ThreadCounter in 3311 sometimes caused FAR get stuck on exit.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Забыл проинициализировать ThreadCounter в 3311 что приводило иногла к застреванию фара при выходе.

--------------------------------------------------------------------------------
shmuel 2013-04-09 17:51:59+02:00 - build 3312

1. If a cached plugin exporting ProcessDialogEventW required a newer FAR version,
   then an attempt of diaplaying any dialog from a macro with no EnableOutput flag, an INVISIBLE dialog
   "This plugin requires more recent version of Far" was shown.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Если закешированный плагин, экспортирующий ProcessDialogEventW, требовал более новой версии Фара,
   то при попытке вывода любого диалога из макроса, у которого нет флага EnableOutput, выводился НЕВИДИМЫЙ диалог
   "This plugin requires more recent version of Far".

--------------------------------------------------------------------------------
t-rex 2013-04-09 16:37:04+02:00 - build 3311

1. FAR stuck at the start in 3310.

2. Possible problem with CancelIoInProgress static initialization in interf.cpp.

3. Mantis#2364: Asynchronous DB write.
   HierarchicalConfig databases are saved asynchronously, namely plugin settings, highlighting, shortcuts and a couple of DB.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В 3310 фар застревал при запуске.

2. Потенциальная проблема статической инициализации CancelIoInProgress в interf.cpp.

3. Mantis#2364: Асинхронная запись в базу данных.
   Сохранение HierarchicalConfig баз происходит асинхронно, т.е. настройки плагинов, подсветка, шорткаты и ещё пару баз.

--------------------------------------------------------------------------------
t-rex 2013-04-09 13:58:04+02:00 - build 3310

1. Refactoring of synchronization classes .

2. Final refactoring of asynchronous history.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг классов синхронизации.

2. Доделка и рефакторинг асинхронной истории.

--------------------------------------------------------------------------------
drkns 2013-04-09 13:47:32+02:00 - build 3309

1. A command called from completion menu did not run if the menu was closed with the mouse.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Команда, выбранная из меню дополнения, не запускалась, если меню было закрыто мышью.

--------------------------------------------------------------------------------
svs 2013-04-09 12:08:51+04:00

1. Makeup without a build (lower vs. upper in GUIDs)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Косметика без билда (lower VS upper в GUID`ах)

--------------------------------------------------------------------------------
shmuel 2013-04-08 23:36:09+02:00 - build 3308

1. M#2363: mf.flock always returns 1 at the moment of key press.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2363: mf.flock в момент нажатия всегда возвращает 1.

--------------------------------------------------------------------------------
t-rex 2013-04-08 19:18:40+02:00 - build 3307

1. Experimental: writing history asynchronously, it must help working with slow drives.
   Holding Enter on a folder doesn't show difference, because the next access to history waits for the end of asynchronous processing at first,
   so the profit has to appear in realistic use cases only.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Экспериментально: пишем историю асинхронно, должно сильно помочь тем у кого очень медленные диски.
   Держать энтер на папке разницу не покажет, ибо при последующем доступе к истории сначало ожидается окончание асинхронной обработки,
   т.е. польза должна быть чисто в реалестичных юзкэйсах.

--------------------------------------------------------------------------------
drkns 2013-04-07 20:11:40+02:00 - build 3306

1. lng could be read incorrectly in some cases.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В некоторых случаях могли криво читаться lng.

--------------------------------------------------------------------------------
drkns 2013-04-07 14:17:22+02:00 - build 3305

1. Continuation of 3301.

--------------------------------------------------------------------------------
drkns 2013-04-07 11:36:42+02:00 - build 3304

1. Continuation of 3301.

--------------------------------------------------------------------------------
drkns 2013-04-07 10:30:14+02:00 - build 3303

1. Continuation of 3301.

--------------------------------------------------------------------------------
drkns 2013-04-07 01:28:41+02:00 - build 3302

1. Correction of 3301.

--------------------------------------------------------------------------------
drkns 2013-04-07 00:42:28+02:00 - build 3301

1. Continuation of 2303.1.

--------------------------------------------------------------------------------
w17 2013-04-05 17:22:48+04:00 - build 3300

1. M#2360: Crash while editing a user menu item command

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2360: Крэш при редактировании команды айтема пользовательського меню

--------------------------------------------------------------------------------
drkns 2013-04-05 09:37:43+02:00 - build 3299

1. Correction of 3298.

--------------------------------------------------------------------------------
drkns 2013-04-04 23:52:41+02:00 - build 3298

1. Experimental: usual masks and regular expressions in masks can be mixed, for example:
   *.ext1, *.ext2, /re1/, *.ext3, /re2/|/re3/,*.ext4

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Экспериментально: в масках файлов можно смешивать обычные маски и регулярные выражения, например:
   *.ext1, *.ext2, /re1/, *.ext3, /re2/|/re3/,*.ext4

--------------------------------------------------------------------------------
drkns 2013-04-03 23:25:19+02:00 - build 3297

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-04-03 14:08:23+02:00 - build 3296

1. 0002357: Constantly displaying "Access denied" if PATH variable has inaccessible directories

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002357: Постоянно сообщает "Доступ запрещён" если в переменной PATH есть недоступные каталоги

--------------------------------------------------------------------------------
drkns 2013-04-02 22:55:14+02:00 - build 3295

1. Refactoring.

2. regexp.?pp cleanup.

--------------------------------------------------------------------------------
drkns 2013-04-02 17:01:23+02:00 - build 3294

1. Correction of strings in deletion dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение надписей в диалоге удаления.

--------------------------------------------------------------------------------
svs 2013-04-02 12:45:12+04:00 - build 3293

1. Mantis#0002355: GUIDs needed

    ScreensSwitchId        = {72EB948A-5F1D-4481-9A91-A4BFD869D127} --> Menu.Id
    SelectSortModeId       = {B8B6E1DA-4221-47d2-AB2E-9EC67D0DC1E3} --> Menu.Id
    HistoryCmdId           = {880968A6-6258-43e0-9BDC-F2B8678EC278} --> Menu.Id
    HistoryFolderId        = {FC3384A8-6608-4c9b-8D6B-EE105F4C5A54} --> Menu.Id
    HistoryEditViewId      = {E770E044-23A8-4f4d-B268-0E602B98CCF9} --> Menu.Id
    PanelViewModesId       = {B56D5C08-0336-418b-A2A7-CF0C80F93ACC} --> Menu.Id
    PanelViewModesEditId   = {98B75500-4A97-4299-BFAD-C3E349BF3674} --> Dlg.Id
    CodePagesMenuId        = {78A4A4E3-C2F0-40bd-9AA7-EAAC11836631} --> Menu.Id
    EditorReplaceId        = {8BCCDFFD-3B34-49f8-87CD-F4D885B75873} --> Dlg.Id
    EditorSearchId         = {5D3CBA90-F32D-433c-B016-9BB4AF96FACC} --> Dlg.Id
    HelpSearchId           = {F63B558F-9185-46ba-8701-D143B8F62658} --> Dlg.Id
    FiltersMenuId          = {5B87B32E-494A-4982-AF55-DAFFCD251383} --> Menu.Id

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002355: Требуются гуиды

    ScreensSwitchId        = {72EB948A-5F1D-4481-9A91-A4BFD869D127} --> Menu.Id
    SelectSortModeId       = {B8B6E1DA-4221-47D2-AB2E-9EC67D0DC1E3} --> Menu.Id
    HistoryCmdId           = {880968A6-6258-43E0-9BDC-F2B8678EC278} --> Menu.Id
    HistoryFolderId        = {FC3384A8-6608-4C9B-8D6B-EE105F4C5A54} --> Menu.Id
    HistoryEditViewId      = {E770E044-23A8-4F4D-B268-0E602B98CCF9} --> Menu.Id
    PanelViewModesId       = {B56D5C08-0336-418B-A2A7-CF0C80F93ACC} --> Menu.Id
    PanelViewModesEditId   = {98B75500-4A97-4299-BFAD-C3E349BF3674} --> Dlg.Id
    CodePagesMenuId        = {78A4A4E3-C2F0-40BD-9AA7-EAAC11836631} --> Menu.Id
    EditorReplaceId        = {8BCCDFFD-3B34-49F8-87CD-F4D885B75873} --> Dlg.Id
    EditorSearchId         = {5D3CBA90-F32D-433C-B016-9BB4AF96FACC} --> Dlg.Id
    HelpSearchId           = {F63B558F-9185-46BA-8701-D143B8F62658} --> Dlg.Id
    FiltersMenuId          = {5B87B32E-494A-4982-AF55-DAFFCD251383} --> Menu.Id

--------------------------------------------------------------------------------
shmuel 2013-04-02 11:30:36+02:00 - build 3292

1. M#2356: Menu.FilterStr(0) malfunction.

--------------------------------------------------------------------------------
lort 2013-04-01 20:49:51+04:00 - build 3291

1. Don't consume CtrlTab and CtrlShiftTab if there's no possibility of switching away from the current frame (M#2353)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не проглатываем CtrlTab и CtrlShiftTab если невозможно переключиться из текущего фрейма (M#2353)

--------------------------------------------------------------------------------
shmuel 2013-04-01 15:55:51+02:00 - build 3290

1. M#2343: Menu.Select works incorrectly with disabled items.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2343: Menu.Select неправильно работает с задисабленными пунктами.

--------------------------------------------------------------------------------
drkns 2013-03-30 13:20:21+02:00 - build 3289

1. Correction of 3283.2.

2. Refactoring.

--------------------------------------------------------------------------------
svs 2013-03-29 21:21:04+04:00 - build 3288

1. SQLite 3.7.16.1

--------------------------------------------------------------------------------
w17 2013-03-29 01:33:56+04:00 - build 3287

1. "Panel.ShortcutAlwaysChdir" parameter added, it controls RCtrl-0..RCtrl-9 behavior with panels hidden.
   false - folder name (if defined) appears in the command line ('as before' and by default)
   true  - always go to a folder bound to a pressed key

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Добавлен параметр "Panel.ShortcutAlwaysChdir", управляет поведением при нажатии RCtrl-0..RCtrl-9 при невидимых панелях.
   false - имя папки (если назначена) появляется в командной строке ('как раньше' и по-умолчанию)
   true  - всегда осуществляется переход на папку, связанную с нажатой клавишей

--------------------------------------------------------------------------------
drkns 2013-03-28 22:42:42+02:00 - build 3286

1. Continuation of 3285.

2. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-03-28 20:46:57+02:00 - build 3285

1. Correction of SEH exceptions processing.

--------------------------------------------------------------------------------
drkns 2013-03-28 20:02:12+02:00 - build 3284

1. Correction in search regarding [x] Process alternate data streams.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение поиска для [x] Process alternate data streams.

--------------------------------------------------------------------------------
drkns 2013-03-28 15:58:11+02:00 - build 3283

1. "Break link" button is removed from the symlink deletion confirmation dialog.

2. Links can be broken now via the attributes dialog with "Reparse point" flag uncheck.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Убрана кнопка "Break link" из диалога подтверждения удаления симлинка.

2. Разрывать ссылки теперь можно через диалог атрибутов, снятием флажка "Reparse point".

--------------------------------------------------------------------------------
svs 2013-03-28 13:58:10+04:00 - build 3282

1. Mantis#0001199: link:[/msg]
   ...regarding message output when creating hard links

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001199: link:[/msg]
   ...в части вывода сообщений при создании хардлинков

--------------------------------------------------------------------------------
drkns 2013-03-28 09:58:16+02:00 - build 3281

1. vc10.

--------------------------------------------------------------------------------
svs 2013-03-28 11:16:18+04:00

1. Corrections (a few of) on TREEFILE_PROJECT (Mantis#0000186)
   without a build because they have no influence on the main code.

2. Corrections in the links help topic.
   It seems that symlinks have to be explained.
   (the discussion is here - http://forum.farmanager.com/viewtopic.php?f=4&t=3588 )

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнения (немного) по TREEFILE_PROJECT (Mantis#0000186)
   без билда, т.к. влияния на основной код не оказывает.

2. Уточнения в хелпе про связи.
   Видимо требуется разжевать кусок по поводу симлинков
   (обсуждение здесь - http://forum.farmanager.com/viewtopic.php?f=4&t=3588 )

--------------------------------------------------------------------------------
drkns 2013-03-27 22:36:11+02:00 - build 3280

1. Folder shortcuts are now read on each request and written immediately after change.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Folder shortcuts теперь считываются при каждом запросе и пишутся сразу после изменения.

2. Рефакторинг.

--------------------------------------------------------------------------------
drkns 2013-03-27 00:12:11+02:00 - build 3279

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2013-03-27 00:02:08+02:00 - build 3278

1. Forum: Editor.Pos(1,1,*) caused screen redraw with missing EnableOutput flag.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Из форума: Editor.Pos(1,1,*) вызывал перерисовку экрана при отсутствующем флаге EnableOutput.

--------------------------------------------------------------------------------
drkns 2013-03-25 21:54:56+02:00 - build 3277

1. Another correction for drawing in far /w

2. gcc.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё одно уточнение отрисовки для far /w

2. gcc.

--------------------------------------------------------------------------------
drkns 2013-03-25 15:55:42+02:00 - build 3276

1. Optimization: push_<front|back> => emplace_<front|back>.

2. Correction for drawing in far /w.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Оптимизация: push_<front|back> => emplace_<front|back>.

2. Уточнение отрисовки для far /w.

--------------------------------------------------------------------------------
drkns 2013-03-25 00:02:58+02:00 - build 3275

1. 0002348: Exception in EditControl/ECTL_SAVEFILE if Param2.FileName = NULL

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002348: Exception в EditControl/ECTL_SAVEFILE при Param2.FileName = NULL

--------------------------------------------------------------------------------
drkns 2013-03-24 17:19:41+02:00 - build 3274

1. Partial rollback of 3269. Too early.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Частичный откат 3269. Пока рано.

--------------------------------------------------------------------------------
drkns 2013-03-24 16:21:07+02:00 - build 3273

1. Another correction.

2. 0002345: A small defect in help info

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё одно уточнение.

2. 0002345: Небольшая недоработка в справочной информации

--------------------------------------------------------------------------------
drkns 2013-03-24 11:45:49+02:00 - build 3272

1. And more.

--------------------------------------------------------------------------------
drkns 2013-03-23 19:59:25+02:00 - build 3271

1. Another couple of corrections.

--------------------------------------------------------------------------------
drkns 2013-03-23 17:28:05+02:00 - build 3270

1. Correction of 3269.

--------------------------------------------------------------------------------
drkns 2013-03-23 16:17:18+02:00 - build 3269

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-03-23 00:40:11+02:00 - build 3268

1. Refactoring.

--------------------------------------------------------------------------------
w17 2013-03-23 00:02:37+04:00 - build 3267

1. correction of 3259.

--------------------------------------------------------------------------------
svs 2013-03-22 18:21:38+04:00

1. Corrections (a few of) on TREEFILE_PROJECT (Mantis#0000186)
   without a build, because of no influence on the main code.

   <ACHTUNG>

   1. Don't use /D TREEFILE_PROJECT - the project is under development.
   2. Ideas and comments here - http://bugs.farmanager.com/view.php?id=186

   </ACHTUNG>

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнения (немного) по TREEFILE_PROJECT (Mantis#0000186)
   без билда, т.к. влияния на основной код не оказывает.

   <АХТУНГ>

   1. Не надо ставить /D TREEFILE_PROJECT - проект в разработке.
   2. Идеи и замечания сюда - http://bugs.farmanager.com/view.php?id=186

   </АХТУНГ>

--------------------------------------------------------------------------------
svs 2013-03-22 15:40:09+04:00 - build 3266

1. Mantis#0002341: Need GUIDs

    AdvancedConfigId  = {A204FF09-07FA-478c-98C9-E56F61377BDE} --> Dlg.Id
    FolderShortcutsId = {4CD742BC-295F-4afa-A158-7AA05A16BEA1} --> Menu.Id

2. "System.Executor.~" parameter is described in help

3. Mantis#0001535: Adding help on Ctrl-Alt-F (menu items filtering)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002341: Нужны GUID-ы

    AdvancedConfigId  = {A204FF09-07FA-478C-98C9-E56F61377BDE} --> Dlg.Id
    FolderShortcutsId = {4CD742BC-295F-4AFA-A158-7AA05A16BEA1} --> Menu.Id

2. В хелпе описан параметр "System.Executor.~"

3. Mantis#0001535: Добавление справки по Ctrl-Alt-F (фильтрация элементов меню)

--------------------------------------------------------------------------------
svs 2013-03-22 14:45:14+04:00 - build 3265

1. Mantis#0002340: Add FCTL_SETACTIVEPANEL command to API

   Panel API: FCTL_SETACTIVEPANEL command - make "this panel" active.

     hPanel = HANDLE | PANEL_ACTIVE | PANEL_PASSIVE
        HANDLE - "this panel" becomes active
        PANEL_ACTIVE - waste of time, "it" is already active :-)
        PANEL_PASSIVE - passive one becomes active
     Command = FCTL_SETACTIVEPANEL
     Param1 = 0
     Param2 = 0

     Return = TRUE (all ok) | FALSE (no such panel or it is "hidden")

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002340: Добавить в АПИ команду FCTL_SETACTIVEPANEL

   Panel API: Команда FCTL_SETACTIVEPANEL - сделать "вот эту панель" активной.

     hPanel = HANDLE | PANEL_ACTIVE | PANEL_PASSIVE
        HANDLE - "эта панель" станет активной
        PANEL_ACTIVE - пустая трата времени - "она" уже активна :-)
        PANEL_PASSIVE - пассивная станет активной
     Command = FCTL_SETACTIVEPANEL
     Param1 = 0
     Param2 = 0

     Return = TRUE (всё ок) | FALSE (нет такой панели или она "скрыта")

--------------------------------------------------------------------------------
shmuel 2013-03-21 22:51:47+02:00 - build 3264

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-03-21 21:29:29+02:00 - build 3263

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-03-21 02:27:47+02:00 - build 3262

1. One more correction of 3260.

--------------------------------------------------------------------------------
w17 2013-03-21 03:58:50+04:00 - build 3261

1. correction of 3260.

--------------------------------------------------------------------------------
drkns 2013-03-20 23:09:07+02:00 - build 3260

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-03-20 02:07:58+02:00 - build 3259

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-03-19 00:02:25+02:00 - build 3258

1. Refactoring.

--------------------------------------------------------------------------------
svs 2013-03-18 18:58:10+04:00 - build 3257

1. SQLite 3.7.16

--------------------------------------------------------------------------------
w17 2013-03-18 17:45:12+04:00 - build 3256

1. m#1905 - removing 'wrap...' sign from viewer keybars for hex and dump modes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. m#1905 - убираем надписи wrap... с кейбара вьювера для hex и dump режимов.

--------------------------------------------------------------------------------
drkns 2013-03-17 22:54:00+02:00 - build 3255

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-03-17 18:35:35+02:00 - build 3254

1. Continuation of 3253 - the task list could be called twice if the first call was from the main menu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 3253 - список задач можно было вызвать дважды, если первый вызов был из главного меню.

--------------------------------------------------------------------------------
w17 2013-03-17 20:06:26+04:00 - build 3253

1. ShowProcessList() could be called many times (from ru.board)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. ShowProcessList() мог быть вызван многократно (с ru.board)

--------------------------------------------------------------------------------
drkns 2013-03-17 14:35:40+02:00 - build 3252

1. Continuation of M#0002294: code refactoring, help is added.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение M#0002294: рефакторинг кода, добавлен хелп.

--------------------------------------------------------------------------------
drkns 2013-03-16 22:39:28+02:00 - build 3251

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-03-16 01:18:08+02:00 - build 3250

1. M#0000466 related code is removed.

2. gcc debug x86 build did not work.

3. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Удалён связанный с M#0000466 код.

2. Не работал gcc debug x86 билд.

3. Рефакторинг.

--------------------------------------------------------------------------------
shmuel 2013-03-15 16:22:25+02:00 - build 3249

1. Restoring the behavior of Plugin.Call asynchronous call, according to the comment to build 2899.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Восстановим поведение асинхронного вызова Plugin.Call, в соответствии с комментарием к билду 2899.

--------------------------------------------------------------------------------
w17 2013-03-15 07:03:24+04:00 - build 3248

1. Refactoring.

--------------------------------------------------------------------------------
w17 2013-03-14 15:40:18+04:00 - build 3247

1. Syncing of keybars and the language file

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Синхронизация кейбаров и языкового файла

--------------------------------------------------------------------------------
drkns 2013-03-14 00:40:53+02:00 - build 3246

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-03-13 21:37:15+02:00 - build 3245

1. Correction of 3243.

--------------------------------------------------------------------------------
drkns 2013-03-13 21:26:34+02:00 - build 3244

1. gcc.

--------------------------------------------------------------------------------
drkns 2013-03-13 21:15:45+02:00 - build 3243

1. 0002330: UserData memory leaks in operations with AnalyseW

2. 0002334: memory leaks in operations with sqlite.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002330: утечки памяти UserData при работе с AnalyseW

2. 0002334: утечки памяти при работе с sqlite

--------------------------------------------------------------------------------
t-rex 2013-03-13 17:08:47+02:00 - build 3242

1. Mantis#2334: memory leaks in operations with sqlite.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#2334: утечки памяти при работе с sqlite.

--------------------------------------------------------------------------------
drkns 2013-03-13 02:34:54+02:00 - build 3241

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-03-12 23:31:23+02:00 - build 3240

1. Refactoring.

2. 0002332: "admin" indicator is in the middle of the screen (by height)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг.

2. 0002332: Индикатор "admin" посередине экрана (по высоте)

--------------------------------------------------------------------------------
drkns 2013-03-12 01:52:54+02:00 - build 3239

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2013-03-09 22:50:25+02:00 - build 3238

1. MCTL_LOADALL and far.MacroLoadAll return true only if there were no errors on start.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. MCTL_LOADALL и far.MacroLoadAll возвращают true только если не было ни одной ошибки при загрузке.

--------------------------------------------------------------------------------
drkns 2013-03-09 13:12:45+02:00 - build 3237

1. Refactoring.

--------------------------------------------------------------------------------
w17 2013-03-09 13:17:54+04:00 - build 3236

1. Export/Import for localconfig.db

--------------------------------------------------------------------------------
shmuel 2013-03-08 11:51:14+02:00

1. Macros: 'EditorInput' event is added, i.e. group="EditorInput" must be noted in event specification.
   'action' and 'condition' functions parameters, as well as the returned value of 'action' function match the description
   of export.ProcessEditorInput function in the LuaFAR manual.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Макросы: добавлено событие 'EditorInput', т.е. в спецификации события надо указывать group="EditorInput".
   Параметры функций action и condition, а также возвращаемое значение функции action - согласно описанию
   функции export.ProcessEditorInput в мануале LuaFAR.

--------------------------------------------------------------------------------
drkns 2013-03-08 01:52:56+02:00 - build 3235

1. Removing some unused code.

--------------------------------------------------------------------------------
w17 2013-03-07 00:30:54+04:00 - build 3234

1. Correction of 3232 - the name of a mutex depends on the full path to db.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 3232 - имя мьютекса зависит от полного пути к db.

--------------------------------------------------------------------------------
w17 2013-03-06 19:26:54+04:00 - build 3233

1. M#2329: error drawing editor lines

--------------------------------------------------------------------------------
t-rex 2013-03-05 15:14:09+02:00 - build 3232

1. Mantis#1813: Problems with DB when multiple FAR instances are started/closed simultaneously.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1813: Проблемы с БД при одновременном старте/закрытии нескольких копий фар.

--------------------------------------------------------------------------------
drkns 2013-03-04 23:31:07+02:00 - build 3231

1. 0002322: Incorrect drawing in viewer/editor

--------------------------------------------------------------------------------
zg 2013-03-04 00:01:33+02:00 - build 3230

1. (num|caps|scroll)lock and their combinations with modifiers can now be assigned macros.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. на (num|caps|scroll)lock и их сочетания с модификаторами теперь можно вешать макросы.

--------------------------------------------------------------------------------
drkns 2013-03-03 01:12:28+02:00 - build 3229

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-03-02 22:18:14+02:00 - build 3228

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-03-02 21:38:22+02:00 - build 3227

1. pushd c:\ + popd caused crash.

--------------------------------------------------------------------------------
shmuel 2013-03-02 01:17:54+02:00 - build 3226

1. Continuation of 3222: mf.usermenu. The description is in macroapi_manual.chm.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 3222: mf.usermenu. Описание - в macroapi_manual.chm.

--------------------------------------------------------------------------------
drkns 2013-02-28 22:15:33+02:00 - build 3225

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2013-02-28 21:37:28+02:00 - build 3224

1. Continuation of 3222: extending mf.usermenu functionality. The full description is in macroapi_manual.chm.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 3222: расширение функциональности mf.usermenu. Полное описание - в macroapi_manual.chm.

--------------------------------------------------------------------------------
shmuel 2013-02-28 17:22:41+02:00 - build 3223

1. Continuation of 3222: mf.usermenu(filename [,mode]) macro function is added.
   If 'mode' is equal to 0 or omitted, the file is opened "as is", i.e. with 'filename' given.
   If 'mode' is equal to 1, the file is opened in %farprofile%\Menus (the folder is created automatically).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 3222: добавлена макрофункция mf.usermenu(filename [,mode]).
   Если 'mode' равен 0 или не задан, файл открывается "как есть", т.е. по заданному 'filename'.
   Если 'mode' равен 1, файл открывается в %farprofile%\Menus (папка создаётся автоматически).

--------------------------------------------------------------------------------
svs 2013-02-28 11:46:34+04:00 - build 3222

1. Mantis#0002270: User menu from any file
   Part 1: implementation.
   UserMenu(filename) constructor is added. It is expected that 'filename' is the full path to the menu file.

   Noted Menu.Open(filemenu [,mode]) function may be written :-)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002270: Пользовательское меню из любого файла
   Часть 1: внутренняя реализация.
   Добавлен конструктор UserMenu(filename). Ожидается, что filename - полный путь к файлу с меню.

   Можно реализовывать упомянутую макрофункцию Menu.Open(filemenu [,mode]) :-)

--------------------------------------------------------------------------------
zg 2013-02-27 01:14:16+02:00 - build 3221

1. forum: "Folder size calculation can be interrupted with Esc. In the meanwhile, if Esc is assigned a macro,
   for example, panels hiding, the macro is executed instead of interrupting the calculation and closing the dialog."

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. с форума: "Операцию подсчёта размера папок можно прервать по Esc. Но при этом, если на Esc назначен макрос,
   например, гашения панелей, этот макрос выполняется, вместо того,
   что бы просто прервать подсчёт и закрыть диалог."

--------------------------------------------------------------------------------
shmuel 2013-02-27 00:19:09+02:00

1. Macros: 'DialogEvent' event is added, i.e. group="DialogEvent" must be noted in event specification.
   Parameters of 'action' and 'condition' functions and the returned value of 'action' function follow the description
   of export.ProcessDialogEvent function in LuaFAR manual.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Макросы: добавлено событие 'DialogEvent', т.е. в спецификации события надо указывать group="DialogEvent".
   Параметры функций action и condition, а также возвращаемое значение функции action - согласно описанию
   функции export.ProcessDialogEvent в мануале LuaFAR.

--------------------------------------------------------------------------------
shmuel 2013-02-26 18:14:23+02:00

1. Macros: 'ExitFAR' event is added, i.e. group="ExitFAR" must be noted in event specification.
   Event handlers are called on each unload of LuaMacro plugin.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Макросы: добавлено событие 'ExitFAR', т.е. в спецификации события надо указывать group="ExitFAR".
   Обработчики события вызываются при любой выгрузке плагина LuaMacro.

--------------------------------------------------------------------------------
drkns 2013-02-26 02:15:17+02:00 - build 3220

1. 0002248: ANSI plugins do not let apps start from junction folders

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002248: ANSI плагины не дают запускать приложения из папок являющихся связью

2. Рефакторинг.

--------------------------------------------------------------------------------
shmuel 2013-02-22 20:10:21+02:00 - build 3219

1. Continuation of 3217: mmode(1,1) call could block the screen on subsequent invocation of an error dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 3217: вызов mmode(1,1) мог блокировать экран при последующем вызове диалога ошибки.

--------------------------------------------------------------------------------
drkns 2013-02-22 19:09:39+02:00 - build 3218

1. Run with CtrlAltEnter did not work.

--------------------------------------------------------------------------------
shmuel 2013-02-22 17:38:36+02:00 - build 3217

1. mmode(1,1) call could suppress screen redraw after a macro ended.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Вызов mmode(1,1) мог приводить к неперерисовке экрана после завершения макроса.

--------------------------------------------------------------------------------
drkns 2013-02-21 23:44:34+02:00 - build 3216

1. Partial rollback of 3171.2, too many bugs appeared.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Частичный откат 3171.2, глюков оказалось слишком много.

--------------------------------------------------------------------------------
w17 2013-02-20 17:52:10+04:00 - build 3215

1. Continuation of 3206 (M#2303) -- automatic detection of links copying method.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 3206 (M#2303) -- автоопределение способа копирования ссылок.

--------------------------------------------------------------------------------
shmuel 2013-02-20 09:48:22+02:00 - build 3214

1. Correction of 3209 for MSSC_POST.

--------------------------------------------------------------------------------
drkns 2013-02-20 02:06:02+02:00 - build 3213

1. Refactoring. Adding some 'const'ness.

--------------------------------------------------------------------------------
drkns 2013-02-19 22:23:51+02:00 - build 3212

1. Continuation of 3208. UserDefinedList is removed, there is StringToList function which creates a standard list following the same logic.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 3208. UserDefinedList больше нет, есть функция StringToList, создающая стандартный список по той же логике.

--------------------------------------------------------------------------------
w17 2013-02-19 12:13:40+04:00 - build 3211

1. Correction of 3206.
   a) SPARSE and REPARSEPOINT flags separation in attribute line
   b) symbol for SPARSE is changed '$' -> 'P' -- inform me if this is 'bad'
   c) removing spaces from too long attribute line

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 3206.
   a) разделение флагов SPARSE и REPARSEPOINT в строке атрибутов
   b) символ для SPARSE изменён '$' -> 'P' -- отпишитесь, если это 'плохо'
   c) если строка атрибутов слишком длинная - убираем из неё пробелы

--------------------------------------------------------------------------------
w17 2013-02-19 08:36:13+04:00 - build 3210

1. vc10 compilation fix.

--------------------------------------------------------------------------------
shmuel 2013-02-18 23:49:37+02:00 - build 3209

1. Macros: "DisableOutput" flag is removed.
   A new flag is added: "EnableOutput", inactive by default.
   Plugin and macro API is not affected by this change.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Макросы: флаг "DisableOutput" больше не существует.
   Появился новый флаг "EnableOutput", по умолчанию неактивный.
   API плагинов и макросов этим изменением не затронуто.

--------------------------------------------------------------------------------
drkns 2013-02-18 23:29:22+02:00 - build 3208

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-02-18 22:10:06+02:00 - build 3207

1. More launcher related stuff.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё немного на тему запускателя.

--------------------------------------------------------------------------------
w17 2013-02-18 17:33:55+04:00 - build 3206

1. M#2303: New Reparse Point types in Windows 8/2012

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2303: Новые типы Reparse Point в Windows 8/2012

--------------------------------------------------------------------------------
drkns 2013-02-17 21:06:25+02:00 - build 3205

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-02-17 18:01:04+02:00 - build 3204

1. Correction of 3197.

--------------------------------------------------------------------------------
shmuel 2013-02-16 23:01:07+02:00

1. Macros: condition() function is called with a single string parameter: the name of the key.
   * This does not apply for macros called during 'RunAfterFARStart'.
   * This does not apply for events.
   * This is done because akey() does not work when called from condition().

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Макросы: функция condition() вызывается с одним аргументом-строкой: имя ключа.
   * Это не касается макросов, вызываемых во время 'RunAfterFARStart'.
   * Это не касается событий.
   * Это сделано потому, что akey() не работает, будучи вызвана из condition().

--------------------------------------------------------------------------------
drkns 2013-02-16 20:14:37+02:00 - build 3203

1. The length of the prompt was not restored after $#nn removed from the format string.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Длина промпта не восстанавливалась при убирании $#nn из формата.

--------------------------------------------------------------------------------
drkns 2013-02-16 15:19:37+02:00 - build 3202

1. Once more 0002306.

2. Crash in info panel.

3. gcc.

--------------------------------------------------------------------------------
drkns 2013-02-16 14:57:06+02:00 - build 3201

1. 0002306: panel not initialized

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002306: не инициализируется панель

--------------------------------------------------------------------------------
drkns 2013-02-16 13:22:34+02:00 - build 3200

1. 0002306: panel not initialized

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002306: не инициализируется панель

--------------------------------------------------------------------------------
drkns 2013-02-16 12:07:09+02:00 - build 3199

1. Correction of 3197.

--------------------------------------------------------------------------------
drkns 2013-02-16 03:37:17+02:00 - build 3198

1. Crashes with too little console buffer size.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Падения при слишком мелких размерах буфера консоли.

--------------------------------------------------------------------------------
drkns 2013-02-16 02:44:09+02:00 - build 3197

1. Experimental support for prompt coloring.
   Format:
   ([[T]FFFFFFFF][:[T]BBBBBBBB])
   FFFFFFFF - text color in aarrggbb format.
   BBBBBBBB - background color in aarrggbb format.
   T - "true color flag", if absent, the color is treated as a console color index (0-F).
   If a text or background color is omitted, the default value is used.

   Examples:
   (A) - bright green text with default background
   (:F) - default text on white background
   (C:2) - bright red on green
   () - default text on default background
   (T00CCCC:TE34234) - turquoise on vermilion

   THe given color is applied up to the end of the prompt or the next color entry.

   The example of use:
   (a)%username%(f)@(c)%computername%() $p$g

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Экспериментальная поддержка раскраски промпта.
   Формат:
   ([[T]FFFFFFFF][:[T]BBBBBBBB])
   FFFFFFFF - цвет текста в формате aarrggbb.
   BBBBBBBB - цвет фона в формате aarrggbb.
   T - "признак труколорности", если отсутствует - цвет считается консольным индексом (0-F).
   Если цвет текста или фона не указан, берется значение по умолчанию.

   Примеры:
   (A) - ярко-зеленый текст на дефолтном фоне
   (:F) - дефолтный текст на белом фоне
   (C:2) - ярко-красный на зеленом
   () - дефолтный текст на дефолтном фоне
   (T00CCCC:TE34234) - яйца дрозда на киновари

   Указанный цвет красит промпт до конца либо до следующего вхождения цвета.

   Пример использования:
   (a)%username%(f)@(c)%computername%() $p$g

--------------------------------------------------------------------------------
drkns 2013-02-15 23:09:33+02:00 - build 3196

1. 0002304: External editor launch erases the command line.
   Launcher is altered a little once again, bugs possible.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002304: Запуск внешнего редактора стирает комстроку.
   Запускатель в очередной раз немного переделан, возможны глюки.

--------------------------------------------------------------------------------
drkns 2013-02-14 21:11:45+02:00 - build 3195

1. In GetReparsePointInfo(), unknown reparse points were treated as junctions, with all the consequences.

2. Ability of detection of reparse points with DEDUP and NFS tags.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В GetReparsePointInfo() неизвестные науке reparse points трактовались как junctions, со всеми вытекающими.

2. Умеем определять reparse points с тегами DEDUP и NFS.

--------------------------------------------------------------------------------
t-rex 2013-02-14 20:37:28+02:00 - build 3194

1. Removing the previous ones, now the configuration of the width resides in the prompt line - $#nn.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Убираем предыдущее, теперь настройка ширины идёт через строку промпта - $#nn.

--------------------------------------------------------------------------------
svs 2013-02-14 17:26:41+04:00 - build 3193

1. Correction of 3192.
   Prompter improvement:
   $W - current working directory (no path given)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 3192.
   У промтера добавка:
   $W - текущий рабочий каталог (без указания пути)

--------------------------------------------------------------------------------
svs 2013-02-14 17:05:40+04:00 - build 3192

1. Removing API from 3190 (overkill)
   Instead: MCODE_F_CMDLINE_PROMTSIZE to macros
   N=Cmdine.PromtSize([Size])
   Size - required size in % from the console window size, min=5, max=95
   If Size, the function simply returns the current value (in % from the console window size)
   Returns the previous value

   Need some updates in luamacro.

2. Prompter improvement:
   $M - Displaying of the full name of a network volume linked to the name of
        the current volume, or an empty string if the current volume is not a network one.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Убираем АПИ из 3190 (перебор)
   Вместо этого в макросы: MCODE_F_CMDLINE_PROMTSIZE
   N=Cmdine.PromtSize([Size])
   Size - требуемый размер в процентах от ширины консольного окна, min=5, max=95
   Если Size, функция просто возвращает текущее значение (в процентах от ширины консольного окна)
   Возвращает пред.значение

   Нужна доработка со стороны luamacro.

2. У промтера добавка:
   $M - Отображение полного имени удаленного диска, связанного с именем
        текущего диска, или пустой строки, если текущий диск не является сетевым.

--------------------------------------------------------------------------------
t-rex 2013-02-14 13:40:43+02:00 - build 3191

1. Configuration of Cmdline.PromptSize from the previous build.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Настройка Cmdline.PromptSize для предыдущего билда.

--------------------------------------------------------------------------------
svs 2013-02-14 14:58:04+04:00 - build 3190

1. Mantis#0002302: Reduce the visible part of the prompt
   The solution consists of two parts (here is the first part)

   Two new commands are added to API:

    FCTL_SETCMDLINEPROMPTSIZE
      Set the displayed size of the command line prompt.
      Param1 = required size in % of console window width, min=5, max=95
               the size is 50% at start
      Param2 = nullptr (ignored)
      Returns TRUE
    FCTL_GETCMDLINEPROMPTSIZE
      Get the displayed size of the command line prompt (in % of console window width).
      Param1 = 0 (ignored)
      Param2 = pointer to int
      Returns TRUE if Param2 is not equal to nullptr, FALSE otherwise

     The second part of the solution - adding some functionality to luamacro plugin.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002302: Сократить отображаемую часть промпт
   Решение Инца состоит из двух частей (здесь первая часть)

   В API добавлены две команды:

    FCTL_SETCMDLINEPROMPTSIZE
      Установить отображаемый размер приглашения командной строки.
      Param1 = требуемый размер в процентах от ширины консольного окна, min=5, max=95
               при старте размер равен 50%
      Param2 = nullptr (игнорируется)
      Возвращает TRUE
    FCTL_GETCMDLINEPROMPTSIZE
      Получить отображаемый размер приглашения командной строки (в процентах от ширины консольного окна).
      Param1 = 0 (игнорируется)
      Param2 = указатель на int
      Возвращает TRUE, если Param2 не равен nullptr, иначе FALSE

     Вторая часть решение - добавка функционала в плагин luamacro.

--------------------------------------------------------------------------------
drkns 2013-02-13 22:22:04+02:00 - build 3189

1. Refactoring.

2. Correction of 3174.1.

--------------------------------------------------------------------------------
drkns 2013-02-13 20:41:59+02:00

1. 'Define's removed for vc9 and lower, we do not support them anyway.

2. 0002280: Blurry icons in window title and taskbar.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Убраны дефайны для vc9 и ниже, мы всё равно их не поддерживаем.

2. 0002280: Размытые пиктограммы в заголовке окна и панели задач.

--------------------------------------------------------------------------------
drkns 2013-02-13 12:41:34+02:00 - build 3188

1. Correction of 3185 for ancient OS's.

2. Correction of 3185 for flawed sdk's.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 3185 для пещерных ос.

2. Уточнение 3185 для ущербных sdk.

--------------------------------------------------------------------------------
lort 2013-02-13 14:16:45+04:00 - build 3187

1. Correction of 3184

--------------------------------------------------------------------------------
drkns 2013-02-12 23:59:04+02:00 - build 3186

1. Trying to avoid horizontal scrollbar appear after AltF9 when windowmode==true.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Попробуем избежать появления горизонтальной прокрутки после AltF9 при windowmode==true.

--------------------------------------------------------------------------------
drkns 2013-02-12 23:47:00+02:00 - build 3185

1. Experimental: trying to get the scrollbar not to overlap information when windowmode==true and window is maximized.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Экспериментально: попробуем сделать так, чтобы при windowmode==true и максимизированном окне скроллбар не перекрывал информацию.

--------------------------------------------------------------------------------
lort 2013-02-13 01:32:35+04:00 - build 3184

1. 0002297: FMENU_SHOWAMPERSAND flag malfunction

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002297: Флаг FMENU_SHOWAMPERSAND работает неправильно

--------------------------------------------------------------------------------
drkns 2013-02-12 23:15:47+02:00 - build 3183

1. Adequate scrolling to the beginning/end of a buffer for windowmode==true.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Адекватная прокрутка в начало/конец буфера для windowmode==true.

--------------------------------------------------------------------------------
drkns 2013-02-12 21:48:26+02:00 - build 3182

1. 0002294: "Preserve style" option available in editor replace.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002294: При замене в редакторе доступна опция "Preserve style".

--------------------------------------------------------------------------------
w17 2013-02-12 12:37:49+04:00 - build 3181

1. correction of 3180

--------------------------------------------------------------------------------
w17 2013-02-12 08:58:04+04:00 - build 3180

1. M#2299: Far crash when using folder search (Alt-F10)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2299: Падение Far при использовании поиска папки(Alt-F10)

--------------------------------------------------------------------------------
drkns 2013-02-12 01:29:37+02:00 - build 3179

1. Continuing 3157.

--------------------------------------------------------------------------------
drkns 2013-02-11 22:15:28+02:00 - build 3178

1. Correction of 2607. Just in case, I remind: don't place %d, %s etc. in lng files

2. ShiftF8 - Automatic Detection. Editor crashed in case of automatic detection failure.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 2607. На всякий случай, напоминаю: не надо пихать в lng-файлы %d, %s и т. п.

2. ShiftF8 - Automatic Detection. Если определить не удавалось, редактору срывало крышу.

--------------------------------------------------------------------------------
drkns 2013-02-11 21:02:37+02:00 - build 3177

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-02-11 19:57:46+02:00 - build 3176

1. Continuation of 3171.

--------------------------------------------------------------------------------
shmuel 2013-02-11 18:53:29+02:00

1. Macros: precedence of events is defined by dynamic priorities.
   * Dynamic priority is defined as in macros, with 'condition' and 'priority' fields.
   * action() is called for each event, excluding those for which the
     condition() call returned false/nil/nothing, in descending dynamic priorities order.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Макросы: очерёдность в событиях - определяется динамическими приоритетами.
   * Динамический приоритет определяется так же, как и для макросов, при помощи полей
     'condition' и 'priority'.
   * Вызывается функция action() для всех событий, исключая те, для которых вызов
     condition() вернул false/nil/ничего, в порядке убывания динамических приоритетов.

--------------------------------------------------------------------------------
t-rex 2013-02-11 16:16:30+02:00 - build 3175

1. Continuing 3157. MaxLength moved to Editcontrol.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжим 3157. MaxLength переехал в Editcontrol.

--------------------------------------------------------------------------------
t-rex 2013-02-11 12:16:10+02:00 - build 3174

1. LeftPos bugs in recent builds.
   The whole thing has to be redone so that Edit is not ScreenObject and is drawn by Editor.

2. Correction for 3173.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Глюки с LeftPos в последних билдах.
   Надо вообще переделать всё чтоб Edit небыл вообще ScreenObject а его рисовал Editor.

2. Коррекция 3173.

--------------------------------------------------------------------------------
shmuel 2013-02-11 11:27:48+02:00

1. Macros: new specification for events, incompatible with the previous one.
   1.1. No flags checking, 'flags' field is not used.
   1.2. 'name' field is cancelled.
   1.3. condition() and action() functions get 3 parameters: Id,Event,Param
        (see LuaFAR manual, functions ProcessEditorEvent, ProcessViewerEvent).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Макросы: новая спецификация событий, несовместимая с предыдущей.
   1.1. Проверка флагов не делается, поле 'flags' не используется.
   1.2. Отменяется поле 'name'.
   1.3. Функции condition() и action() получают 3 аргумента: Id,Event,Param
        (см. мануал LuaFAR, ф-ции ProcessEditorEvent, ProcessViewerEvent).

--------------------------------------------------------------------------------
t-rex 2013-02-11 11:24:05+02:00 - build 3173

1. gcc build failure.

--------------------------------------------------------------------------------
drkns 2013-02-10 22:22:59+02:00 - build 3172

1. Continuation of 3171.

--------------------------------------------------------------------------------
drkns 2013-02-10 19:50:21+02:00 - build 3171

1. Correction of 3169.

2. Refactoring of panel states storage. Variety of bugs is possible.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 3169.

2. Рефакторинг хранения состояний панели. Возможны разнообразные глюки.

--------------------------------------------------------------------------------
shmuel 2013-02-10 16:55:25+02:00

1. Macros (specification of events):
   In ViewerEvent group, 'name' field can have the following values: 'Read', 'Close', 'KillFocus', 'GotFocus'.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Макросы (спецификация событий):
   В группе ViewerEvent поле 'name' может иметь следующие значения: 'Read', 'Close', 'KillFocus', 'GotFocus'.

--------------------------------------------------------------------------------
shmuel 2013-02-10 15:46:55+02:00 - build 3170

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-02-10 04:31:36+02:00 - build 3169

1. Continuing 3157. 8/16 bytes less.

--------------------------------------------------------------------------------
drkns 2013-02-10 03:06:35+02:00 - build 3168

1. Continuing 3157. 20 bytes less in x86 and 32 in x64.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжим 3157. Ещё минус 20 байт в x86 и 32 в x64.

--------------------------------------------------------------------------------
t-rex 2013-02-08 16:52:35+02:00 - build 3167

1. SCTL_ENUM returned wrong value.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. SCTL_ENUM возвращал не то что надо.

--------------------------------------------------------------------------------
w17 2013-02-08 18:51:02+04:00 - build 3166

1. 0002292: ESPT_CODEPAGE corrupts the file

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002292: ESPT_CODEPAGE портит файл

--------------------------------------------------------------------------------
drkns 2013-02-08 01:56:40+02:00 - build 3165

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2013-02-08 01:25:45+02:00

1. Macros: continuation.
   * In EditorEvent group, 'name' can have the following values:
     'Read', 'Save', 'Change', 'Close', 'Redraw', 'KillFocus', 'GotFocus'.
   * In each events implemented by now, action() function gets 2 parameters:
     1. ID - viewer/editor window ID (a number).
     2. Param - according to LuaFAR documentation on export.ProcessEditorEvent, export.ProcessViewerEvent functions.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Макросы: продолжение.
   * В группе EditorEvent, 'name' может иметь следующие значения:
     'Read', 'Save', 'Change', 'Close', 'Redraw', 'KillFocus', 'GotFocus'.
   * Во всех ныне реализованных событиях функция action() получает 2 аргумента:
     1. ID - идентификатор окна редактора или просмотрщика (число).
     2. Param - в соответствии с документацией LuaFAR на функции export.ProcessEditorEvent, export.ProcessViewerEvent.

--------------------------------------------------------------------------------
shmuel 2013-02-07 20:15:14+02:00

1. Macros: new specification for events handler (modifies the specification from 05.02.2013).
   * key="Read" key in the table-parameter of Macro function is canceled.
   * New boot function 'Event'; as well as 'Macro' function, it accepts one parameter - a table.
   * Differences of the fields from the fields of the table-parameter of the Macro function: instead of 'area' and 'key' fields there are
     'group' and 'name' fields.
   * At the moment, 'group' can have the following values: 'EditorEvent' and 'ViewerEvent'.
   * In EditorEvent group, 'name' can have the 'Read' and 'Save' values.
   * In ViewerEvent group, 'name' can have the 'Read' value.
   * New function NoEvent similar to NoMacro.
   * One cannot call functions listed in the article "Limitations on the use of certain functions"
     of the MacroAPI manual, from 'action' function.
     If these functions are necessary, one can call them via far.MacroPost().
   * Example:
       Event {
         group="EditorEvent"; name="Read";
         action=function() ...... end;
       }

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Макросы: новая спецификация обработчика событий (модифицирует спецификацию от 05.02.2013).
   * Ключ key="Read" в таблице-параметре функции Macro отменяется.
   * Новая загрузочная функция 'Event'; также, как и функция 'Macro', она принимает единственный параметр - таблицу.
   * Отличия полей от полей таблицы-параметра функции Macro: вместо полей 'area' и 'key' - поля 'group' и 'name'.
   * 'group' на данный момент может иметь следующие значения: 'EditorEvent' и 'ViewerEvent'.
   * В группе EditorEvent, 'name' может иметь значения 'Read' и 'Save'.
   * В группе ViewerEvent, 'name' может иметь значение 'Read'.
   * Новая функция NoEvent аналогичная NoMacro.
   * Из функции action нельзя вызывать функции, перечисленные в статье
     "Ограничения в использовании некоторых функций" мануала MacroAPI.
     Если эти функции необходимы, можно их вызвать посредством far.MacroPost().
   * Пример:
       Event {
         group="EditorEvent"; name="Read";
         action=function() ...... end;
       }

--------------------------------------------------------------------------------
t-rex 2013-02-07 16:44:49+02:00 - build 3164

1. Continuing 3157.

--------------------------------------------------------------------------------
t-rex 2013-02-07 14:53:35+02:00 - build 3163

1. From Denis: http://forum.farmanager.com/viewtopic.php?p=103451#p103451
   Where "If text in dialog input field is ended with spaces or tabs, highlight them." has gone?

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. From Denis: http://forum.farmanager.com/viewtopic.php?p=103451#p103451
   А куда пропал "Если текст в диалоговом поле ввода заканивается пробелами или табуляциями - подсветим их."?

--------------------------------------------------------------------------------
t-rex 2013-02-07 04:14:49+02:00 - build 3162

1. The choice of default encoding in viewer settings (now it works).

2. The choice of default encoding in editor settings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Выбор дефолтной кодировки в настройках программы просмотра (теперь работает).

2. Выбор дефолтной кодировки в настройках редактора.

--------------------------------------------------------------------------------
drkns 2013-02-07 01:13:11+02:00 - build 3161

1. Correction of wrapper.

--------------------------------------------------------------------------------
t-rex 2013-02-07 00:01:22+02:00 - build 3160

1. The choice of default encoding in viewer settings (does not work by now).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Выбор дефолтной кодировки в настройках программы просмотра (пока не работает).

--------------------------------------------------------------------------------
drkns 2013-02-06 23:47:36+02:00 - build 3159

1. Refactoring.

--------------------------------------------------------------------------------
trex 2013-02-06 20:13:18+02:00 - build 3158

1. Continuing 3157. Now the class Edit has no 'codepage' entity.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжим 3157. Теперь в классе Edit нет понятия codepage.

--------------------------------------------------------------------------------
drkns 2013-02-06 01:28:10+02:00 - build 3157

1. Edit class size reduced, editor must be using a bit less memory on large amount of lines.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уменьшен размер класса Edit, редактор должен использовать немного меньше памяти при большом количестве строк.

--------------------------------------------------------------------------------
shmuel 2013-02-05 17:11:26+02:00

1. Macros specification: a new optional field "filemask" of string type.
   * For Editor and Viewer areas, with the field present, conformity of
     the file name (without path) to a given file mask is checked.
   * The mask must match the rules used for file masks
     in file search dialog (Alt-F7 at panels).
   * When the macro is checked for run, this field is checked first,
     i. e. before flags check and 'condition' function call.

2. In Editor and Viewer areas, a special key "Read" is processed in macro specifications.
   This means that the macro can run on a loading file event into either the editor or
   the viewer appropriately. For those macros the following actions are taken:

     a) Matching of "filemask" field (if specified) to the file name is checked.
     b) Flagged conditions are checked.
     c) If 'condition' function is present then it is called with the parameter
        ID (the identifier of this editor/viewer instance).
     d) If (a,b,c) conditions do not prevent it, 'action' function is called.

   * 'priority' field is not used.
   * On condition() call, only logical equality of the returned value to true does matter.
   * These macros are run one after one, i.e. all of them, not one of them.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Спецификация макросов: новое опциональное поле "filemask" типа string.
   * Для областей Editor и Viewer, при наличии этого поля, проверяется
     соответствие имени файла (без пути) заданной маске файла.
   * Маска должна соответствовать правилам, применяемым для масок файлов
     в диалоге поиска файлов (Alt-F7 из панелей).
   * При проверке макроса на запуск, данное поле проверяется в первую очередь,
     то-есть до проверки флагов и вызова функции condition.

2. В областях Editor и Viewer спецификации макросов обрабатывается специальный
   ключ "Read". Это значит, что макрос может сработать по событию загрузки
   файла соответственно в редактор или просмотрщик. Для подобных макросов
   производятся следующие действия:

     a) Проверяется соответствие поля "filemask" (если оно указано) имени файла.
     b) Проверяются условия по флагам.
     c) Если есть функция condition, то она вызывается, и ей передаётся параметр
        ID (идентификатор данного экземпляра редактора или просмотрщика).
     d) Если условия (a,b,c) не препятствуют, то вызывается функция action.

   * Поле priority не используется.
   * При вызове condition() имеет значение только логическая истинность
     возвращаемого значения.
   * Данные макросы исполняются один за другим, то-есть все, а не один из всех.

--------------------------------------------------------------------------------
drkns 2013-02-05 08:32:09+02:00 - build 3156

1. Correction of 3155.

--------------------------------------------------------------------------------
drkns 2013-02-05 02:11:39+02:00 - build 3155

1. Using standard stacks and queues.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Используем стандартные стеки и очереди.

--------------------------------------------------------------------------------
drkns 2013-02-04 23:38:27+02:00 - build 3154

1. Refactoring.

--------------------------------------------------------------------------------
lort 2013-02-04 21:52:31+04:00 - build 3153

1. Incorrect adjustment of Menu.Show macro function menu height

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Неправильно работала подгонка по высоте меню вызванного макрофункцией Menu.Show

--------------------------------------------------------------------------------
drkns 2013-02-04 03:18:25+02:00 - build 3152

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-02-04 02:45:41+02:00 - build 3151

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-02-03 22:59:12+02:00 - build 3150

1. Correction of 3094.

--------------------------------------------------------------------------------
shmuel 2013-02-03 16:56:54+02:00 - build 3149

1. When a macro is saved to a file, spaces are used as flag separators.
   When a macro is loaded from a file, spaces and '|' characters are considered separators.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При записи макросов в файл в качестве разделителей флагов используются пробелы.
   При чтении макросов из файла разделителями флагов считаются как пробелы, так и символы '|'.

--------------------------------------------------------------------------------
drkns 2013-02-03 09:32:05+02:00 - build 3148

1. Correction of 3094.

--------------------------------------------------------------------------------
shmuel 2013-02-02 23:13:23+02:00 - build 3147

1. Forum: If Panel.SetPosIdx(0,-1,1) is called from a macro while there's no selected files in panel then FAR freezes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Из форума: Если из макроса вызывается Panel.SetPosIdx(0,-1,1), а выделенных файлов в панели нет, FAR виснет.

--------------------------------------------------------------------------------
shmuel 2013-02-02 22:36:31+02:00 - build 3146

1. M#2228: Menu items shift to the right if automatic numbering of items is used in Menu.Show.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2228: Пункты меню съезжают вправо, если в Menu.Show использовать автонумерацию пунктов.

--------------------------------------------------------------------------------
drkns 2013-02-02 16:50:15+02:00 - build 3145

1. And once more.

--------------------------------------------------------------------------------
drkns 2013-02-02 16:20:21+02:00 - build 3144

1. Correction of 3141.

--------------------------------------------------------------------------------
t-rex 2013-02-01 21:23:22+02:00 - build 3143

1. RCtrlH did not work in far:config.

--------------------------------------------------------------------------------
drkns 2013-02-01 18:50:55+02:00 - build 3142

1. Malfunction of macro recording keys redefinition.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не работало переназначение клавиш записи макроса.

--------------------------------------------------------------------------------
drkns 2013-02-01 17:36:21+02:00 - build 3141

1. If panel items are equal from the current sorting criterion's point of view (and, therefore, are sorted by name)
   then change of sorting direction does not affect them.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Если элементы панели равны с точки зрения текущего критерия сортировки (и, следовательно, сортируются по имени) то изменение направления сортировки их не затронет.

--------------------------------------------------------------------------------
t-rex 2013-02-01 12:24:37+02:00 - build 3140

1. Correction of 3134.

--------------------------------------------------------------------------------
drkns 2013-02-01 10:22:46+02:00 - build 3139

1. Correction of 3138.

2. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-01-31 02:45:16+02:00 - build 3138

1. Adding support for move semantics to UnicodeString.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Добавим в UnicodeString поддержку move semantics.

--------------------------------------------------------------------------------
t-rex 2013-01-31 01:59:09+02:00 - build 3137

1. Mantis#2247. More comprehensible display of string search progress in files.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#2247. Более понятный дисплэй прогресса во время поиска строки в файлах.

--------------------------------------------------------------------------------
t-rex 2013-01-30 23:45:01+02:00 - build 3136

1. The previous fix must work only at 'replace all'.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Предыдущий фикс должен работать только при replace all.

--------------------------------------------------------------------------------
t-rex 2013-01-30 22:48:47+02:00 - build 3135

1. Mantis#1376: Undo replace all.
   On replace, undo rolls back all changes at once.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1376: Undo replace all.
   При replace, undo востанавливает все изменения разом.

--------------------------------------------------------------------------------
t-rex 2013-01-30 22:04:15+02:00 - build 3134

1. Mantis#2281: Memory exhaustion at search with replace in editor.
   Now there is a limit for the amount of memory used for undo buffer in editor, 100MB by default.
   It is set up in Editor.UndoDataSize (size in bytes), old and useless Editor.EditorUndoSize setting is removed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#2281: Заканчивается память во время поиска с заменой в редакторе.
   Теперь есть лимит на количество памяти используемой для хранения undo в редакторе, по дефолту 100MB.
   Настраивается через Editor.UndoDataSize (размер в байтах), старая и никчемная настройка Editor.EditorUndoSize удалена.

--------------------------------------------------------------------------------
w17 2013-01-30 15:33:36+04:00 - build 3133

1. operator< should be const (also another fix for selection in panels)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. operator< should be const (заодно ещё раз починим выбор в панели)

--------------------------------------------------------------------------------
drkns 2013-01-30 00:27:32+02:00 - build 3132

1. Adding some clever macros to simplify the use of template containers.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Добавим хитрых макросов для упрощения работы с шаблонными контейнерами.

--------------------------------------------------------------------------------
drkns 2013-01-29 20:56:19+02:00 - build 3131

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2013-01-29 19:03:01+02:00 - build 3130

1. Forum: if Keys() call is placed after far.MacroLoadAll() then the macro is terminated after return from Keys.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Из форума: если после far.MacroLoadAll() встречается вызов Keys(), то после Keys макрос завершается.

--------------------------------------------------------------------------------
shmuel 2013-01-29 10:46:39+02:00 - build 3129

1. After macro selection menu cancel the key was passed to FAR for further processing.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При отмене меню выбора макроса ключ передавался Фару для дальнейшей обработки.

--------------------------------------------------------------------------------
w17 2013-01-29 09:13:35+04:00 - build 3128

1. Experimental. Separators and submenu caption in shortcuts.
   If "Folder" field in shortcuts submenu is empty then
   a) if the name = "--" then it is a separator
   b) else if the name is the first item then it is a submenu caption, otherwise it is ignored

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Experimental. Сепараторы и заголовок подменю в шорткатах.
   Если поле фолдер в подменю шорткатов пустое, то
   a) если имя = "--" это сепаратор
   b) если нет и это первый пункт - заголовок подменю, иначе - просто игнорируется

--------------------------------------------------------------------------------
w17 2013-01-29 08:49:52+04:00 - build 3127

1. Panel selection fix.

--------------------------------------------------------------------------------
drkns 2013-01-28 22:53:29+02:00 - build 3126

1. More correct "once more".

--------------------------------------------------------------------------------
w17 2013-01-28 19:49:34+04:00 - build 3125

1. Once more...

--------------------------------------------------------------------------------
w17 2013-01-28 18:27:46+04:00 - build 3124

1. Correction of refactoring (I don't know which one of them ......)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение рефакторинга (не знаю которого из ......)

--------------------------------------------------------------------------------
drkns 2013-01-28 01:20:00+02:00 - build 3123

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2013-01-27 17:48:50+02:00 - build 3122

1. 'akey' and 'mmode' functions being called from 'condition' macro function return false.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Функции 'akey' и 'mmode', будучи вызваны из функции 'condition' макроса, возвращают false.

--------------------------------------------------------------------------------
drkns 2013-01-26 21:15:16+02:00 - build 3121

1. Correction of tree file saving.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение сохранения файла дерева.

--------------------------------------------------------------------------------
drkns 2013-01-26 18:04:57+02:00 - build 3120

1. Correction of 3119.

--------------------------------------------------------------------------------
drkns 2013-01-26 17:54:44+02:00 - build 3119

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-01-26 15:03:56+02:00 - build 3118

1. Correction of 3117.1.

--------------------------------------------------------------------------------
drkns 2013-01-26 12:06:30+02:00 - build 3117

1. Refactoring.

2. Correction of sorting by time/size/links and streams number.
   "Direct" sorting now means the descending order, "reverse" - the ascending one.
   Ctrl-Fx and default menu selection turn reverse sorting order for these modes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг.

2. Уточнение сортировки по временам/размерам/числу ссылок и потоков.
   "Прямая" сортировка теперь по убыванию, "обратная" - по возрастанию.
   Ctrl-Fx и выбор из меню по умолчанию включают обратную сортировку для этих режимов.

--------------------------------------------------------------------------------
w17 2013-01-25 12:14:49+04:00 - build 3116

1. gcc build fix

--------------------------------------------------------------------------------
drkns 2013-01-24 23:55:14+02:00 - build 3115

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-01-23 23:57:06+02:00 - build 3114

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-01-23 20:15:10+02:00 - build 3113

1. Correction of 3112.2.

--------------------------------------------------------------------------------
drkns 2013-01-22 23:14:46+02:00 - build 3112

1. CtrlUp and CtrlDown work in shortcuts menu.

2. Empty lines are removed from user menu, associations menu and filters menu, because of CtrlUp and CtrlDown available.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В shortcuts menu работают CtrlUp и CtrlDown.

2. Из user menu, associations menu и filters menu убраны пустые строки, т. к. есть CtrlUp и CtrlDown.

--------------------------------------------------------------------------------
drkns 2013-01-22 00:53:06+02:00 - build 3111

1. Refactoring of far:config.

--------------------------------------------------------------------------------
drkns 2013-01-21 23:05:46+02:00 - build 3110

1. And once more.

--------------------------------------------------------------------------------
drkns 2013-01-21 22:08:36+02:00 - build 3109

1. And once more.

--------------------------------------------------------------------------------
drkns 2013-01-21 21:39:57+02:00 - build 3108

1. Correction of correction of correction of 3102.

--------------------------------------------------------------------------------
w17 2013-01-21 20:58:56+04:00 - build 3107

1. Correction of correction of 3102 (usermenu).

--------------------------------------------------------------------------------
svs 2013-01-21 17:37:30+04:00 - build 3106

1. Mantis#0002266: GUIDs needed
     Editor: read-only file rewrite.
               {3F9311F5-3CA3-4169-A41C-89C76B3A8C1D}
     FAR: exit confirmation dialog.
               {72E6E6D8-0BC6-4265-B9C4-C8DB712136AF}
     Editor: file save after it has been changed with an external app (or deleted).
               {40A699F1-BBDD-4e21-A137-97FFF798B0C8}
     Editor: file save on exit.
               {F776FEC0-50F7-4e7e-BDA6-2A63F84A957B}
     Editor: file with RSH attributes open prompt
               {D8AA706F-DA7E-4bbf-AB78-6B7BDB49E006}
     Editor: file save when switching to the viewer if the file (or containing directory) was deleted.
               {85532BD5-1583-456d-A810-41AB345995A9}
     Editor: file save and exiting the editor if the file (or containing directory) was deleted.
               {2D71DCCE-F0B8-4e29-A3A9-1F6D8C1128C2}
     Editor: file rewrite prompt
               {4109C8B3-760D-4011-B1D5-14C36763B23E}

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002266: Нужны GUID-ы
     Редактор: перезапись файла только для чтения.
               {3F9311F5-3CA3-4169-A41C-89C76B3A8C1D}
     ФАР: диалог подтверждения закрытия ФАРа.
               {72E6E6D8-0BC6-4265-B9C4-C8DB712136AF}
     Редактор: сохранение файла, при изменении его внешней программой (и при удалении).
               {40A699F1-BBDD-4E21-A137-97FFF798B0C8}
     Редактор: сохранение файла при закрытии.
               {F776FEC0-50F7-4E7E-BDA6-2A63F84A957B}
     Редактор: запрос открытия файла с атридутами RSH
               {D8AA706F-DA7E-4BBF-AB78-6B7BDB49E006}
     Редактор: сохранение файла при переключение во вьювер, если файл (или каталог, где был файл) был удален.
               {85532BD5-1583-456D-A810-41AB345995A9}
     Редактор: сохранение файла и выход из редактора, если файл (или каталог, где был файл) был удален.
               {2D71DCCE-F0B8-4E29-A3A9-1F6D8C1128C2}
     Редактор: Запрос на перезапись файла
               {4109C8B3-760D-4011-B1D5-14C36763B23E}

--------------------------------------------------------------------------------
w17 2013-01-21 14:25:04+04:00 - build 3105

1. Correction of 3102 (usermenu).

--------------------------------------------------------------------------------
drkns 2013-01-21 08:55:54+02:00 - build 3104

1. Correction of 3102.

--------------------------------------------------------------------------------
w17 2013-01-21 04:06:32+04:00 - build 3103

1. Correction of 3102.

--------------------------------------------------------------------------------
drkns 2013-01-20 23:13:49+02:00 - build 3102

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-01-20 21:47:14+02:00 - build 3101

1. A couple of leaks in filters.

2. Correction in help.

--------------------------------------------------------------------------------
drkns 2013-01-20 21:26:25+02:00 - build 3100

1. Slightly optimization: do not try to read the number of hard links and info about streams if FS does not support it.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Немного оптимизации: не пытаемся считывать количество жестких ссылок и информацию о потоках, если ФС это не поддерживает.

--------------------------------------------------------------------------------
drkns 2013-01-20 20:08:29+02:00 - build 3099

1. Correction of 3094.

--------------------------------------------------------------------------------
w17 2013-01-20 16:30:39+04:00 - build 3098

1. M#2265: Scrollbar errors in editor/viewer

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2265: Ошибки Scrollbar'ов в редакторе/viewer'е

--------------------------------------------------------------------------------
drkns 2013-01-19 21:18:14+02:00 - build 3097

1. Correction of 3094.

--------------------------------------------------------------------------------
shmuel 2013-01-18 21:07:42+02:00 - build 3096

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-01-18 15:38:50+02:00 - build 3095

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-01-18 14:41:12+02:00 - build 3094

1. Refactoring of descriptions.

2. 0002261: Expand environment variables in folder shortcuts menu

--------------------------------------------------------------------------------
shmuel 2013-01-18 12:25:16+02:00 - build 3093

1. There was a possibility of recording a macro while another macro playing.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Во время воспроизведения макроса было возможно начать запись макроса.

--------------------------------------------------------------------------------
drkns 2013-01-17 23:40:28+02:00 - build 3092

1. Continuation of 3087 - panel focus moved to local settings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 3087 - фокус панели переехал в локальные настройки.

--------------------------------------------------------------------------------
drkns 2013-01-17 22:37:25+02:00 - build 3091

1. Another correction of 3076.

--------------------------------------------------------------------------------
drkns 2013-01-17 22:12:27+02:00 - build 3090

1. Correction of 3076 and rollback of 3089, will be done later.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 3076 и откат 3089. Просьба не нервничать и не спешить, никто не забыт и ничто не забыто.

--------------------------------------------------------------------------------
shmuel 2013-01-17 16:34:27+02:00 - build 3089

1. Partial rollback of 3076 (Undo/Redo in editor).

--------------------------------------------------------------------------------
shmuel 2013-01-16 23:53:39+02:00 - build 3088

1. GCC warnings.

--------------------------------------------------------------------------------
drkns 2013-01-16 22:58:06+02:00 - build 3087

1. 0001969: Separate "Save panels state" setting from other settings and make it local

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0001969: Отделить настройку "Сохранять состояние панелей" от остальных настроек и сделать локальной

--------------------------------------------------------------------------------
svs 2013-01-16 23:56:44+04:00 - build 3086

1. Mantins#0002260: GUID is needed in file reopen dialog
     EditorReloadId={AFDAD388-494C-41e8-BAC6-BBE9115E1CC0}

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantins#0002260: нужен GUID к диалогу переоткрытия файла
     EditorReloadId={AFDAD388-494C-41E8-BAC6-BBE9115E1CC0}

--------------------------------------------------------------------------------
drkns 2013-01-15 23:37:28+02:00 - build 3085

1. Correction of 3084.

--------------------------------------------------------------------------------
drkns 2013-01-15 22:03:55+02:00 - build 3084

1. 0002256: Fix warnings: member variable is not initialized in constructor

--------------------------------------------------------------------------------
shmuel 2013-01-15 00:27:59+02:00 - build 3083

1. Refactoring.

--------------------------------------------------------------------------------
w17 2013-01-15 00:33:06+04:00 - build 3082

1. Highlight Ctrl-Up/Down fix = correction of 3076

--------------------------------------------------------------------------------
w17 2013-01-14 21:28:05+04:00 - build 3081

1. M#2254: In window - PgDn in menu = correction of 3076

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2254: В окне - PgDn в меню = уточнение 3076

--------------------------------------------------------------------------------
w17 2013-01-14 18:14:07+04:00 - build 3080

1. correction of 3076 - shortcuts fix

--------------------------------------------------------------------------------
w17 2013-01-14 06:39:14+04:00 - build 3079

1. correction of 3076

--------------------------------------------------------------------------------
shmuel 2013-01-13 11:40:40+02:00 - build 3078

1. Changes related to macros.

1.1. Key press interpretation, introduction of left-side modifiers.
     On key accept, it is considered with left- and right-side modifiers distinguished.
     I.e. either "LCtrlX" or "RCtrlX" are accepted instead of "CtrlX".

1.2. "Exact" and "generalized" modifiers in keys specifications.
     * Exact modifiers are LCtrl, LAlt, RCtrl and RAlt. Generalized modifiers are Ctrl and Alt.
     * Each of generalized modifiers means "any one", i.e. left- or right-side modifiers.
       Thus, "CtrlAltX" specification is equal to "LCtrlLAltX LCtrlRAltX RCtrlLAltX RCtrlRAltX".
     * One specification of a key may contain either exact or generalized modifiers,
       for example, "CtrlRAltX".

1.3. Keys specified with a regular expression.
     * On key accept, case insensitive matching of its name is performed (see #1) against a regular expression,
       according to FAR regexps rules.
     * "/CtrlX/" regular expression never matches because either "LCtrlX" or "RCtrlX" are passed to matching.
     * Examples of regular expressions independent of modifier type: "/.CtrlX/" or "/[LR]CtrlX/".
       If you have macros with keys specifications like "/R?CtrlX/", fix them as it mentioned before.

1.4. Key specifications have no priority against each other.
     For macros 1 (key="RCtrlX"), 2 (key="CtrlX") and 3 (key="/.CtrlX/"), on RCtrlX key press all of them
     are processed uniformly, and the selection is performed with respect to the given fields:
     'flags' (including possible callback for MCTL_ADDMACRO macros), 'condition' and 'priority'.

1.5. For keyboard macros recording, generalized modifiers are always used, i.e. you cannot
     assign a macro to LCtrlX or RCtrlX from keyboard, only to CtrlX.

1.6. Macros in "Common" ares have priority = 40 by default.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Изменения, связанные с макросами.

1.1. Интерпретация нажатия ключа, появление левосторонних модификаторов.
     При поступлении ключа, он рассматривается с различением лево- и правосторонних модификаторов.
     То-есть, не может поступить "CtrlX", а может либо "LCtrlX", либо "RCtrlX".

1.2. "Точные" и "обобщённые" модификаторы в спецификациях ключей.
     * Точные модификаторы - это LCtrl, LAlt, RCtrl и RAlt. Обобщённые модификаторы - это Ctrl и Alt.
     * Каждый из обобщённых модификаторов обозначает "любой", т.е. левый или правый модификатор.
       Таким образом, спецификация "CtrlAltX" эквивалентна спецификации "LCtrlLAltX LCtrlRAltX RCtrlLAltX RCtrlRAltX".
     * В одной и той же спецификации ключа могут указываться как точные модификаторы, так и обобщённые,
       например, "CtrlRAltX".

1.3. Ключи, заданные регулярным выражением.
     * При поступлении ключа, производится регистронезависимое сопоставление его имени (см. п.1) регулярному выражению,
       по правилам регулярных выражений Фара.
     * Регулярное выражение "/CtrlX/" никогда не сработает, поскольку на сопоставление может поступить
       либо "LCtrlX", либо "RCtrlX".
     * Примеры регулярных выражений, независимых от типа модификатора: "/.CtrlX/" или "/[LR]CtrlX/".
       У кого есть макросы со спецификациями ключей типа "/R?CtrlX/" - нужно поправить, как указано выше.

1.4. Спецификации ключей не имеют приоритетов друг перед другом.
     Если есть макросы 1 (key="RCtrlX"), 2 (key="CtrlX") и 3 (key="/.CtrlX/"), то при нажатии RCtrlX все они
     будут рассматриваться на одинаковых основаниях, а выбор будет производиться по совокупности заданных полей:
     flags (включая возможный вызов callback для макросов MCTL_ADDMACRO), condition и priority.

1.5. При записи макросов с клавиатуры, всегда используются обобщённые модификаторы ключей, то-есть нельзя
     с клавиатуры назначить макрос на LCtrlX или RCtrlX, а только на CtrlX.

1.6. Макросы, назначенные на область "Common", имеют приоритет по умолчанию = 40.

--------------------------------------------------------------------------------
drkns 2013-01-13 02:23:07+02:00 - build 3077

1. gcc.

--------------------------------------------------------------------------------
drkns 2013-01-13 00:28:46+02:00 - build 3076

1. Refactoring. Overall use of standard lists and arrays, some lambdas and stuff. Epic bugs are possible.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг. Повсеместно используем стандартные списки и массивы, немного лямбд и ещё по мелочи. Возможны сказочные глюки.

--------------------------------------------------------------------------------
zg 2013-01-12 04:49:12+02:00 - build 3075

1. 0002252: Inconsistency between selection and cursor movement in block mode.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002252: Несоответствие выделения и перемещения курсора в блочном режиме.

--------------------------------------------------------------------------------
shmuel 2013-01-11 17:46:00+02:00 - build 3074

1. Forum: on FAR start, if one of panels has a network folder opened, the following message _may_ be shown:
   attempt to index upvalue 'Areas' (a nil value).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Из форума: если при старте ФАРа на одной из панелей открывается сетевая папка, _может_ быть выдано такое сообщение:
   attempt to index upvalue 'Areas' (a nil value).

--------------------------------------------------------------------------------
drkns 2013-01-10 21:38:44+02:00 - build 3073

1. Refactoring.

--------------------------------------------------------------------------------
w17 2013-01-10 12:03:54+04:00 - build 3072

1. gcc build fix

--------------------------------------------------------------------------------
drkns 2013-01-10 02:03:43+02:00 - build 3071

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-01-10 00:25:12+02:00 - build 3070

1. Refactoring.

--------------------------------------------------------------------------------
svs 2013-01-09 22:04:32+04:00 - build 3069

1. Mantis#0002245: Add GUID for search results window on panels
     FindFileResultId={536754EB-C2D1-4626-933F-A25D1E1D110A}

2. Mantis#0002243: There's no way to know if a separator has been set with alignment to center if it is set with X=-1
      For DIF_SEPARATOR or DIF_SEPARATOR2 given, if X1 or Y1=-1 then FAR aligns the text and
      forces the DIF_CENTERTEXT flag. In this case the coordinates of the separator are not equal to -1.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002245: Добавить GUID для окна результатов поиска на панелях
     FindFileResultId={536754EB-C2D1-4626-933F-A25D1E1D110A}

2. Mantis#0002243: Нельзя узнать, что сепаратор был задан с выравниванием по центру, если это задано с Х=-1
      Для указанных DIF_SEPARATOR или DIF_SEPARATOR2 если X1 или Y1=-1, то FAR центрирует текст и
      ставит принудительно флаг DIF_CENTERTEXT. В этом случае координаты сепаратора уже не -1.

--------------------------------------------------------------------------------
svs 2013-01-09 21:49:38+04:00 - build 3068

1. SQLite 3.7.15.2

--------------------------------------------------------------------------------
zg 2013-01-07 05:12:25+02:00 - build 3067

1. RECTL_SEARCHEX for unfound brackets assigned RegExpMatch.start a value different from -1.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. RECTL_SEARCHEX для ненайденных скобок устанавливал RegExpMatch.start в значение, отличное от -1.

--------------------------------------------------------------------------------
lort 2013-01-04 18:02:57+04:00 - build 3066

1. Mantis#0002240: Ctrl-Enter incorrect functioning in search results menu

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002240: Некорректная работа Ctrl-Enter в меню результатов поиска

--------------------------------------------------------------------------------
shmuel 2013-01-04 15:52:07+02:00 - build 3065

1. M#2220: MoreHistory -> View/Edit history -> F4 Esc Esc -> Random crash
   (from Michael Lukashov).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2220: MoreHistory -> View/Edit history -> F4 Esc Esc -> Random crash
   (от Michael Lukashov).

--------------------------------------------------------------------------------
shmuel 2013-01-03 23:35:20+02:00 - build 3064

1. Forum: macros such as AltQ do not run with Russian keyboard layout.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Из форума: макросы типа AltQ не вызываются, если раскладка русская.

--------------------------------------------------------------------------------
drkns 2013-01-02 20:44:40+02:00 - build 3063

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2013-01-02 18:45:01+02:00 - build 3062

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2013-01-02 07:50:55+02:00 - build 3061

1. Visual C++ build error.

--------------------------------------------------------------------------------
shmuel 2013-01-02 00:50:13+02:00 - build 3060

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2013-01-01 13:42:42+02:00 - build 3059

1. Refactoring.

--------------------------------------------------------------------------------
zg 2012-12-31 01:16:38+02:00 - build 3058

1. with mmode 3 on, memory corruption took place after Plugin.Call if the macro returned before the plugin call.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. при включённом mmode 3 после вызова Plugin.Call портилась память, если макрос заканчивался раньше чем вызов плагина.

--------------------------------------------------------------------------------
shmuel 2012-12-30 21:29:27+02:00 - build 3057

1. Help did not include macros from ShellAutoCompletion and DialogAutoCompletion.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В хелпе не отображались макросы из ShellAutoCompletion и DialogAutoCompletion.

2. Рефакторинг.

--------------------------------------------------------------------------------
shmuel 2012-12-30 20:00:01+02:00 - build 3056

1. Help did not include macros recorded from keyboard.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В хелпе не отображались макросы, введенные с клавиатуры.

2. Рефакторинг.

--------------------------------------------------------------------------------
shmuel 2012-12-30 00:14:45+02:00 - build 3055

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2012-12-29 15:17:57+02:00 - build 3054

1. 'area' in macro description may include several areas separated with spaces.

2. 'key' in macro description may include several keys separated with spaces.

3. 'key' in macro description may be given as a FAR regular expression surrounded with slash symbols (/).
   * In this case /Ctrl/ does not work on RCtrl press, /R?Ctrl/ must be given explicitly etc.
   * Also, in this case it is necessary to keep Ctrl,Alt,Shift order, for example /AltCtrlF1/ never works.

4. More than one macro is allowed for (key,area) combination. In this case only a macro with the biggest priority is executed
   (as described in 4a,4b,4c). If there is more than one macro with equal priority, a menu is shown.
   All auto-starting macros are executed, regardless of priority.

4a. Optional 'priority' field in macro description: a number from 0 to 100. The default value is 50.

4b. Optional 'condition' field in macro description: a function. If it returns false/nil/nothing then the macro
    is not executed. If it returns a number then the number is used instead of 'priority'. In case of other return values
    (for example, true) 'priority' is used.

4c. Macros added with MCTL_ADDMACRO have priority = 50.

5. Macros recorded from keyboard are handled in a special way. No more than one for a combination (key,area) is allowed.
   Their priority is higher than any other macros priority.

6. THe format of macros recorded from keyboard has been changed. If you have such macros saved in
   Macros/internal directory, move them to Macros/scripts.

7. BUGS AND REGRESSIONS ARE HIGHLY POSSIBLE. Thus, users should better wait a couple of weeks before updating
   to a new version.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 'area' в описании макроса может включать несколько областей, разделённых пробелами.

2. 'key' в описании макроса может включать несколько ключей, разделённых пробелами.

3. 'key' в описании макроса может быть обозначен как фаровское регулярное выражение, обрамлённое слешами (/).
   * В этом случае /Ctrl/ не сработает при нажатии RCtrl, надо явно обозначать /R?Ctrl/ и т.п.
   * Также в этом случае необходимо соблюдать порядок в последовательности Ctrl,Alt,Shift, например /AltCtrlF1/
     никогда не сработает.

4. Допустимо более одного макроса на сочетание (key,area). В этом случае выполняется только макрос с наибольшим
   приоритетом (как описано в 4a,4b,4c). Если есть более одного макроса с одинаковым приоритетом - выводится меню.
   Для автостартующих макросов - выполняются все, независимо от приоритета.

4a. Опциональное поле 'priority' в описании макроса: число от 0 до 100. Значение по умолчанию = 50.

4b. Опциональное поле 'condition' в описании макроса: функция. Eсли возвращает false/nil/ничего, то макрос
    не исполняется. Если возвращает число, то это число используется вместо 'priority'. При других значениях
    возврата (например, true) используется 'priority'.

4c. Макросы, добавляемые посредством MCTL_ADDMACRO, имеют приоритет = 50.

5. Макросы, записанные с клавиатуры, обрабатываются особо. Их может быть не более одного на сочетание (key,area).
   Их приоритет выше приоритета любых других макросов.

6. Формат макросов, записываемых с клавиатуры, изменился. Если у кого-то есть такие макросы, сохранённые в папке
   Macros/internal, перенесите эти файлы в папку Macros/scripts.

7. ОЧЕНЬ ВОЗМОЖНЫ НЕДОДЕЛКИ И БАГИ. Поэтому пользователям-не разработчикам лучше подождать пару недель, прежде чем
   переходить на новую версию.

--------------------------------------------------------------------------------
lort 2012-12-28 18:36:32+04:00 - build 3053

1. Correction of 2941.3

--------------------------------------------------------------------------------
svs 2012-12-25 18:44:49+04:00 - build 3052

1. Viewer wrapper for displaying of panel description files (class DizViewer) is placed in a separate file dizviewer.hpp
   The wrapper is intended to track DizView methods call recursiveness (in the context of InfoList) and... to prevent "viewer" accidental deletion during the call.
   The wrapper is required for Mantis#0000604 fix

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Врапер Viewer для отображения файлов описаний панелей (class DizViewer) вынесен в отдельный файл dizviewer.hpp
   Врапер предназначен для отслеживания рекурсивность вызова методов DizView (приминительно к InfoList) и... случайно не удалить "вьювер" во время вызова.
   Врапер необходим для решения Mantis#0000604

--------------------------------------------------------------------------------
svs 2012-12-25 18:31:20+04:00 - build 3051

1. When API::GetDirList (or internal GetPluginDirInfo/GetPluginDirList) was called, the plugin was not passed OPM_QUICKVIEW flag if an opposite panel was QuickView.
   OPM_* usage should be reviewed

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При вызове API::GetDirList (или интёрнал GetPluginDirInfo/GetPluginDirList) плагину не передавался флаг OPM_QUICKVIEW, если противоположная панель QuickView.
   Надо бы пересмотреть везде применение OPM_*

--------------------------------------------------------------------------------
shmuel 2012-12-25 12:36:38+02:00 - build 3050

1. M#2235: LuaMacro functions call causes panel redraw, despite screen output disable flag set.
   So far, there is only mf.waitkey fixed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2235: Вызов функций LuaMacro приводит к перерисовке панели, несмотря на флаг запрета вывода на экран.
   Пока лечение ограничилось поправкой mf.waitkey.

--------------------------------------------------------------------------------
drkns 2012-12-25 00:19:17+02:00 - build 3049

1. Rollback of 3041.1.

--------------------------------------------------------------------------------
drkns 2012-12-23 22:43:29+02:00 - build 3048

1. Continuation of 3047.

--------------------------------------------------------------------------------
drkns 2012-12-23 19:32:14+02:00 - build 3047

1. Another bug in menus.

--------------------------------------------------------------------------------
drkns 2012-12-23 18:20:07+02:00 - build 3046

1. Correction of plugin unloading.

--------------------------------------------------------------------------------
w17 2012-12-23 17:00:33+04:00 - build 3045

1. Management of EOL type on text insertion in editor.
   Editor.KeepEditorEOL parameter is added,
   if the value = true (default) - trying to save the type of carriage returns for the edited file,
   if the file is empty or the parameter = false - the text is inserted unchanged.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Управление типом EOL при вставке текста в редактор.
   Добавлен параметр Editor.KeepEditorEOL,
   если значение = true (default) - пытаемся сохранить тип переводов строк редактируемого файла,
   если файл пуст или параметр = false - текст вставляется без изменений.

--------------------------------------------------------------------------------
w17 2012-12-23 14:22:48+04:00 - build 3044

1. M#0002232: Find/Replace is off by word length

--------------------------------------------------------------------------------
drkns 2012-12-22 13:53:21+02:00 - build 3043

1. Memory leak in vmenu on item deletion.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Утечка памяти в vmenu при удалении пункта.

--------------------------------------------------------------------------------
drkns 2012-12-22 10:04:19+02:00 - build 3042

1. Correction of 3041.

--------------------------------------------------------------------------------
drkns 2012-12-21 22:41:03+02:00 - build 3041

1. On plugin unload, closing all handles created by it via SCTL_CREATE if it has not taken care about them.

2. 'disableoutput' flag was ignored for auto-starting macros.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При выгрузке плагина закроем все хендлы, созданные им по SCTL_CREATE, если он не позаботился об этом сам.

2. Игнорировался флаг disableoutput у автостартующих макросов.

--------------------------------------------------------------------------------
svs 2012-12-21 16:15:36+04:00 - build 3040

1. Mantis#0002207: SetDirectoryW() always passes NULL in SetDirectoryInfo->UserData field
   Changes (minor ones) in API.

   In SetDirectoryInfo (there was UserData and no FreeData)
     a) "intptr_t UserData" -> "intptr_t Reserved"
     b) "struct UserDataItem UserData" added

   In OpenPanelInfo
     a) "struct UserDataItem UserData" added
        this component is related to OpenPanelInfo::CurDir; a plugin must (if it fills them)
        place data here, related to CurDir, FAR will place these values in SetDirectoryInfo.

   Obscurities:
     a) PluginManager::CallPlugin() - here UserData = {0,0}
        (an obscure solution)
     b) Panel::ExecShortcutFolder() - here UserData = {0,0}
        (an obscure solution)
     c) GetPluginDirList()          - here UserData = {0,0}
        the obscurity: a plugin says "I want info on this dir on that panel" and then we refer to catalog's "Name" instead of a panel item.
     d) lack for FreeData calls for OpenPanelInfo
        handle it separately...

   ACHTUNG!
   If your plugins use SetDirectoryInfo.Reserved (former SetDirectoryInfo.UserData), rebuild them considering this novation.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002207: SetDirectoryW() всегда передает в поле SetDirectoryInfo->UserData NULL
   Изменения (не критичные) в АПИ.

   В SetDirectoryInfo (UserData был, FreeData "не был")
     а) "intptr_t UserData" стал "intptr_t Reserved"
     б) добавился "struct UserDataItem UserData"

   В OpenPanelInfo
     а) добавился "struct UserDataItem UserData"
        эта компонента относится к OpenPanelInfo::CurDir; плагин должен (если заполняет)
        сюда помещать данные, относящиеся к CurDir, FAR будет именно эти значения в SetDirectoryInfo помещать.

   Непонятки:
     а) PluginManager::CallPlugin() - здесь UserData = {0,0}
        (непонятное решение)
     б) Panel::ExecShortcutFolder() - здесь UserData = {0,0}
        (непонятное решение)
     в) GetPluginDirList()          - здесь UserData = {0,0}
        здесь непонятка в том, что плагин говорит "хочу инфу вот по этой дире на вон той панели" - упираемся в "Имя" каталога, а не в элемент панели.
     г) не хватает вызовов FreeData для OpenPanelInfo
        разбираться отдельно...

   АХТУНГ!
   Если плагины юзали SetDirectoryInfo.Reserved (бывший SetDirectoryInfo.UserData), перекомпильте с учетом новшества.

--------------------------------------------------------------------------------
drkns 2012-12-21 01:39:53+02:00 - build 3039

1. Continuation of 3028.

--------------------------------------------------------------------------------
drkns 2012-12-21 00:59:22+02:00 - build 3038

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2012-12-20 23:11:35+02:00 - build 3037

1. Memory deallocation correction in wrapper.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Коррекция осовобождения памяти во враппере.

--------------------------------------------------------------------------------
drkns 2012-12-20 22:59:42+02:00 - build 3036

1. Continuation of 3028.

--------------------------------------------------------------------------------
svs 2012-12-20 11:31:27+04:00 - build 3035

1. SQLite 3.7.15.1

2. Drawing artifacts in InfoPanel

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. SQLite 3.7.15.1

2. Артефакты прорисовки в InfoPanel

--------------------------------------------------------------------------------
drkns 2012-12-19 22:50:44+02:00 - build 3034

1. In menu2, one could "press" grayed & disabled items.

2. Continuation of 3028.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В menu2 "нажимались" grayed & disabled элементы.

2. Продолжение 3028.

--------------------------------------------------------------------------------
svs 2012-12-19 13:13:17+04:00 - build 3033

1. Mantis#0002207: SetDirectoryW() always passes NULL in SetDirectoryInfo->UserData field
   Continuing. The algorithm is redone - searching UserData on specific panel item instead of name.
   The searcher returns NULL as always.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002207: SetDirectoryW() всегда передает в поле SetDirectoryInfo->UserData NULL
   Продолжаем. Переделан механизм - ищем UserData не по имени, а берем из конкретного элемента панели.
   Поисковик по прежнему отдает NULL.

--------------------------------------------------------------------------------
drkns 2012-12-19 02:42:37+02:00 - build 3032

1. Continuation of 3028.

--------------------------------------------------------------------------------
svs 2012-12-18 11:28:12+04:00 - build 3031

1. Mantis#0002224: menu items filtering with RAlt too
   (from samlyukov)

2. Mantis#0002226: Transliteration in menu filters
   (from DAtaMan)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002224: фильтрацию элементов меню оуществлять и по RAlt
   (from samlyukov)

2. Mantis#0002226: Транслитерация в фильтрах меню
   (from DAtaMan)

--------------------------------------------------------------------------------
drkns 2012-12-17 21:17:21+02:00 - build 3030

1. Instant update of colors on file group masks change.

2. Mouse malfunction in mask groups menu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При изменении групп масок файлов раскраска обновляется незамедлительно.

2. Не работала мышь в меню групп масок.

--------------------------------------------------------------------------------
lort 2012-12-17 19:13:09+04:00 - build 3029

1. Problems with F11 and F12 in menus (Mantis#0002225)

2. Dialogs now receive F11 via DN_CONTROLINPUT

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Проблемы с F11 и F12 в меню (Mantis#0002225)

2. Диалогам теперь приходит F11 через DN_CONTROLINPUT

--------------------------------------------------------------------------------
drkns 2012-12-16 21:55:11+02:00 - build 3028

1. Improving the built-in leaks detector.
   For debug builds, stats are output to screen at exit.

2. Memory leaks in Language class and GetVHDName() function.

3. Similar counter is added for allocations/deallocations performed by a plugin. Only for SCTL_CREATE/SCTL_FREE so far.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Расширим и углубим встроенный детектор утечек памяти.
   Для debug-билдов при выходе статистика выводится на экран.

2. Утечки памяти в классе Language и функции GetVHDName().

3. Добавлен аналогичный счетчик для аллокаций/освобождений, выполняемых плагином. Пока что только для SCTL_CREATE/SCTL_FREE.

--------------------------------------------------------------------------------
shmuel 2012-12-16 20:48:37+02:00 - build 3027

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2012-12-15 20:37:00+02:00 - build 3026

1. '}' hotkey was processed incorrectly in user menu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В user menu некорректно обрабатывался hotkey '}'.

--------------------------------------------------------------------------------
shmuel 2012-12-16 08:50:59+02:00 - build 3025

1. Correction of 3016.1.

--------------------------------------------------------------------------------
drkns 2012-12-15 20:37:00+02:00 - build 3024

1. ':' hotkey was processed incorrectly in user menu.

2. Adding const to ImportedFunctions.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В user menu некорректно обрабатывался hotkey ':'.

2. Добавим const в ImportedFunctions.

--------------------------------------------------------------------------------
shmuel 2012-12-15 19:44:50+02:00 - build 3023

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2012-12-15 19:15:29+02:00 - build 3022

1. Correction of 3021.

   I remind of the separate class ImportedFunctions for dynamic linking that contains everything.
   There's no need to invent a wheel.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 3021.

   Напоминаю, что для динамической линковки существует специальный класс ImportedFunctions, в котором уже всё есть.
   Изобретать велосипеды нет необходимости.

--------------------------------------------------------------------------------
w17 2012-12-15 20:54:59+04:00 - build 3021

1. Correction of 3019.

--------------------------------------------------------------------------------
drkns 2012-12-15 12:32:56+02:00 - build 3020

1. Forum: Inconvenient autocompletion list behavior in dialogs

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: Неудобное поведение списка автодополнения в диалогах

--------------------------------------------------------------------------------
w17 2012-12-15 13:20:40+04:00 - build 3019

1. M#0002223: Bad date time format at time 00:01
   Correct displaying of time. It must match win7 explorer.
   Note: dir and xp explorer show time incorrectly if the file name is at daylight saving time and current time is std and vice versa.
	In case of incorrect displaying please report (note FAT...)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#0002223: Bad date time format at time 00:01
   Правильный показ времени. Должно совпадать с win7 explorer.
   Note: dir и xp explorer показывают время неправильно, если время файла из daylight текущее время std и наоборот.
	Если где-то быдет показывать неверно - собщайте (обращайте внимание на FAT...)

--------------------------------------------------------------------------------
drkns 2012-12-15 00:38:42+02:00 - build 3018

1. Analyzer warnings.

--------------------------------------------------------------------------------
drkns 2012-12-14 21:27:36+02:00 - build 3017

1. Correction of 2059.

--------------------------------------------------------------------------------
shmuel 2012-12-14 20:06:29+02:00 - build 3016

1. Macro calls after LuaMacro plugin reload caused errors.
   Now after the plugin reload macros are not loaded but can be loaded with lm:load.

2. LuaMacro plugin: new command lm:unload - unloads all macros.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. После перезагрузки плагина LuaMacro вызовы макросов приводили к ошибкам.
   Теперь после перезагрузки плагина макросы не загружены, но их можно загрузить командой lm:load.

2. Плагин LuaMacro: новая команда lm:unload - выгружает все макросы.

--------------------------------------------------------------------------------
lort 2012-12-14 17:54:22+04:00 - build 3015

1. FarGetPluginInformation.GInfo->MinFarVersion field was not filled correctly at PCTL_GETPLUGININFORMATION call

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не заполнялось поле FarGetPluginInformation.GInfo->MinFarVersion при вызове PCTL_GETPLUGININFORMATION

--------------------------------------------------------------------------------
svs 2012-12-14 17:00:22+04:00 - build 3014

1. SQLite 3.7.15

--------------------------------------------------------------------------------
svs 2012-12-14 16:33:53+04:00 - build 3013

1. Mantis#0002210: DIF_SEPARATOR always justifies text at the center
   The alignment takes place if DIF_CENTERTEXT flag is set or X1=-1, else the text is drawn from X1 position.

2. Mantis#0000269: Add "smart" DIF_SEPARATOR
   It is called
       DIF_SEPARATORUSER = 0x0000000000080000ULL

   DI_TEXT and DI_VTEXT with DIF_SEPARATORUSER flag:
      a) both X1 and X2 coordinates must be specified (Y1 and Y2 for DI_VTEXT)
      b) FarDialogItem::Mask contains a three character set desribing the separator - 3 symbols C string is expected: "Left-Center-Right"/"Top-Center-Bottom".
         Missing symbols will contain spaces for such a separator.
         If FarDialogItem::Mask=nullptr, standard separators are used.

3. Dialog API: DIF_RIGHTTEXT flag added
	DIF_RIGHTTEXT  = 0x0000000400000000ULL

   DIF_RIGHTTEXT - right side text (caption for frames) alignment.
      Applicable for DI_TEXT, DI_VTEXT, DI_SINGLEBOX, DI_DOUBLEBOX
      If this flag is specified X1,X2 coordinates (for DI_TEXT) and Y1,Y2 (for DI_VTEXT) must be correctly specified.

4. Mantis#0000002: DIF_WORDWRAP
	DIF_WORDWRAP   = 0x0000000800000000ULL

   DIF_WORDWRAP - text word wrapping.
      Applicable for DI_TEXT
      Here, the whole element geometry is taken into account (X1, Y1, X2, Y2)
      Next word is broken into parts if it does not fit the width of the element.
      Together with DIF_WORDWRAP, DIF_RIGHTTEXT, DIF_CENTERTEXT and DIF_SHOWAMPERSAND can be used (the rest is ignored).
      The line separator is '\n'.

   ACHTUNG! ...about drawing, where coordinates for DI_TEXT/DI_VTEXT were ignored

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002210: DIF_SEPARATOR всегда центрирует текст
   Центрирование происходит если указан флаг DIF_CENTERTEXT или X1=-1, иначе текст рисуется с позиции X1.

2. Mantis#0000269: Добавить "умный" DIF_SEPARATOR
   "Вернемся к нашим баранам".
   Это называется
       DIF_SEPARATORUSER = 0x0000000000080000ULL

   DI_TEXT и DI_VTEXT с флагом DIF_SEPARATORUSER:
      а) должны быть указаны обе координаты X1 и X2 (Y1 и Y2 для DI_VTEXT)
      б) в FarDialogItem::Mask содержится набор из трех символов, описывающих сепаратор - ожидается Це-строка в 3 символа "Лево-Середина-Право"/"Верх-Середина-Низ".
         Недостающие до 3-х символы для такого сепаратора будут содержать пробелы.
         Если FarDialogItem::Mask=nullptr, то используются стандартные сепараторы.

3. Dialog API: Добавлен флага DIF_RIGHTTEXT
	DIF_RIGHTTEXT  = 0x0000000400000000ULL

   DIF_RIGHTTEXT - выравнивание текста (для рамок - заголовка) по правому краю.
      Применим для DI_TEXT, DI_VTEXT, DI_SINGLEBOX, DI_DOUBLEBOX
      При указании этого флага вы должны обязательно корректно заполнить координаты X1,X2 (для DI_TEXT) и Y1,Y2 (для DI_VTEXT).

4. Mantis#0000002: DIF_WORDWRAP
	DIF_WORDWRAP   = 0x0000000800000000ULL

   DIF_WORDWRAP - перенос текста по словам.
      Применим для DI_TEXT
      Здесь учитывается вся геометрия элемента (X1, Y1, X2, Y2)
      Усекает очередное слово, если оно не вмещается по ширине элемента.
      Совместно с DIF_WORDWRAP можно применять DIF_RIGHTTEXT, DIF_CENTERTEXT и DIF_SHOWAMPERSAND (остальное в игнор).
      Разделителем строк считается символ '\n'.

   АХТУНГ! ...в плане прорисовки там, где был полный игнор координат для DI_TEXT/DI_VTEXT

--------------------------------------------------------------------------------
zg 2012-12-14 02:09:58+02:00 - build 3012

1. correction of 3010.

--------------------------------------------------------------------------------
drkns 2012-12-14 00:44:47+02:00 - build 3011

1. For shortcuts to plugin directories detailed information is now displayed, they can be renamed and edited.

2. Refactoring.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Для шоткатов на плагиновые папки теперь выводится подробная информация, их можно переименовывать и редактировать.

2. Рефакторинг.

--------------------------------------------------------------------------------
shmuel 2012-12-14 00:32:18+02:00 - build 3010

1. Restoring the feature from 2882 broken in 2999.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Восстановим работу фичи из 2882, поломанную в 2999.

--------------------------------------------------------------------------------
svs 2012-12-13 15:21:08+04:00 - build 3009

1. Mantis#0002207: SetDirectoryW() always passes NULL in SetDirectoryInfo->UserData field

   There are the following calls:

    SetDirectory(0)
    SetDirectory("..")
    SetDirectory("\")
    SetDirectory(NAME)

   but in the last case FAR passes UserData (so far)

   There are subtle issues. Switch them by adding /DMANTIS_0002207 compilation key (for testing purposes!)
   This is about search engine and PluginManager::CallPlugin

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002207: SetDirectoryW() всегда передает в поле SetDirectoryInfo->UserData NULL

   Есть вызовы такие:

    SetDirectory(0)
    SetDirectory("..")
    SetDirectory("\")
    SetDirectory(ИМЯ)

   только в последнем случае ФАР передает UserData (пока так)

   Есть тонкие моменты. Включать путем добавки ключа компиляции /DMANTIS_0002207 (для проверки!)
     Это про поисковик и PluginManager::CallPlugin

--------------------------------------------------------------------------------
drkns 2012-12-12 23:46:06+02:00 - build 3008

1. 0002201: At inserting\editing of a new menu or menu command there is no exit confirmation query on ESC if data have not been saved.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002201: При вводе\редактировании в меню новой команды или меню нет запроса на подтверждение выхода по нажатию ESC, если данные не сохранены.

--------------------------------------------------------------------------------
drkns 2012-12-12 23:16:57+02:00 - build 3007

1. 0002221: Unable to see "Network path" for disconnected drive

--------------------------------------------------------------------------------
shmuel 2012-12-12 16:28:12+02:00 - build 3006

1. Refactoring.

--------------------------------------------------------------------------------
svs 2012-12-12 17:55:40+04:00 - build 3005

1. SetDirectoryInfo::UserData.
   intptr_t UserData (=0) optional parameter added to inner functions PluginManager::SetDirectory, PluginA::SetDirectory and Plugin::SetDirectory.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. SetDirectoryInfo::UserData.
   Добавка необязательного параметра intptr_t UserData (=0) во внутренние функции PluginManager::SetDirectory, PluginA::SetDirectory и Plugin::SetDirectory.

--------------------------------------------------------------------------------
drkns 2012-12-12 01:10:26+02:00 - build 3004

1. On macros save, garbage was written instead of flags and attempts of unused flags saving were taken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При сохранении макросов вместо флагов записывался мусор и производились попытки сохранять ненужные флаги.

--------------------------------------------------------------------------------
shmuel 2012-12-10 16:18:18+02:00 - build 3003

1. Correction of 3002.1.

--------------------------------------------------------------------------------
shmuel 2012-12-09 23:31:07+02:00 - build 3002

1. On macros initial load there was macro execution indication in the upper left corner of the screen.

2. If an error happened on macros initial load, FAR was shown with empty panels.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При начальной загрузке макросов была индикация исполнения макроса в левом верхнем углу экрана.

2. Если при начальной загрузке макросов происходила ошибка, Фар показывался с пустыми панелями.

--------------------------------------------------------------------------------
shmuel 2012-12-09 15:57:57+02:00 - build 3001

1. Macros moved from macros.db to %FARPROFILE%\Macros directory and are placed in Lua files.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Макросы переехали из macros.db в папку %FARPROFILE%\Macros и содержатся в Lua-файлах.

--------------------------------------------------------------------------------
drkns 2012-12-08 23:28:08+02:00 - build 3000

1. 0002219: PCTL_GETPLUGININFORMATION error

2. Some more refactoring.

--------------------------------------------------------------------------------
shmuel 2012-12-08 22:57:29+02:00 - build 2999

1. far.MacroPost() worked from plugins, buf not from macros.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. far.MacroPost() работал из плагинов, но не из макросов.

--------------------------------------------------------------------------------
lort 2012-12-07 17:12:09+04:00 - build 2998

1. Assertion in debug build after files packing.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Assertion в отладочной сборке после упаковки файлов.

--------------------------------------------------------------------------------
w17 2012-12-05 16:44:28+04:00 - build 2997

1. continuation of continuation of 2995

--------------------------------------------------------------------------------
w17 2012-12-05 15:31:40+04:00 - build 2996

1. continuation of 2995

--------------------------------------------------------------------------------
w17 2012-12-05 14:53:22+04:00 - build 2995

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2012-12-05 02:46:44+02:00 - build 2994

1. Refactoring.

--------------------------------------------------------------------------------
drkns 2012-12-04 21:09:45+02:00 - build 2993

1. System.QuotedName parameter is 1 by default (quote only when inserting to editor/command line).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Параметр System.QuotedName по умолчанию равен 1 (заключать в кавычки только при вставке в редактор/комстроку).

--------------------------------------------------------------------------------
w17 2012-12-04 17:02:23+04:00 - build 2992

1. Experimental. Returning old behavior...
   On key press with RCtrl/RAlt modifiers the macro assigned
   to this key with Ctrl/Alt modifiers is run (if it exists and if
   there is no macro explicitly bound to 'right' modifiers).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Экспериментально. Возвращаем старое поведение...
   При нажатии клавиши с модификаторами RCtrl/RAlt будет исполняться макрос
   назначенный на эту клавишу с модификаторами Ctrl/Alt (если он есть и нет
   макроса явно привязанного к правым модификаторам).

--------------------------------------------------------------------------------
drkns 2012-12-04 01:04:09+02:00 - build 2991

1. Menus could not be closed with a mouse click outside the menu. Outside-menu clicks configuration did not work either.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Меню не закрывались по клику мыши вне меню. Настройка кликов вне меню тоже не работала.

--------------------------------------------------------------------------------
svs 2012-12-03 17:22:51+04:00 - build 2990

1. Correction of the help, including TI:
   #33 System.MsWheelDelta* & System.MsHWheelDelta*
   #30 Policies.ShowHiddenDrives

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение хелпа, в т.ч. для TI:
   #33 System.MsWheelDelta* & System.MsHWheelDelta*
   #30 Policies.ShowHiddenDrives

--------------------------------------------------------------------------------
drkns 2012-12-02 12:42:54+02:00 - build 2989

1. Continuation of 2987.

--------------------------------------------------------------------------------
drkns 2012-12-02 01:20:47+02:00 - build 2988

1. Continuation of 2987.

--------------------------------------------------------------------------------
drkns 2012-12-01 23:53:07+02:00 - build 2987

1. 0002212: Long volume labels are cropped
   The widths of all volume menu columns are now calculated automatically.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002212: Обрезаются длинные метки дисков
   Ширина всех колонок меню дисков теперь рассчитывается автоматически.

--------------------------------------------------------------------------------
w17 2012-12-01 14:01:35+04:00 - build 2986

1. fix(2985) - FAR crash on file saving from the editor

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. fix(2985) - фар падал при сохранении файла в редакторе

--------------------------------------------------------------------------------
drkns 2012-11-30 22:50:38+02:00 - build 2985

1. Continuing the refactoring.

--------------------------------------------------------------------------------
w17 2012-11-30 05:44:35+04:00 - build 2984

1. vs 2010 buildable fix(2983). gcc < 4.6.1 is not supported anymore

--------------------------------------------------------------------------------
drkns 2012-11-29 23:30:26+02:00 - build 2983

1. Continuation of 2953.

--------------------------------------------------------------------------------
lort 2012-11-29 18:13:34+04:00 - build 2982

1. Incorrect DM_SETEDITPOSITION functions if EditorSetPosition has any parameter set to -1.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Неправильно работало DM_SETEDITPOSITION если в EditorSetPosition какой-либо парамет установлен в -1.

--------------------------------------------------------------------------------
drkns 2012-11-29 01:00:22+02:00 - build 2981

1. Continuation of 2953.

--------------------------------------------------------------------------------
w17 2012-11-29 02:57:41+04:00 - build 2980

1. M#1494: Crash on sequential closing and opening the editor from a plugin.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#1494: Вылет при последовательном закрытии и открытии редактора из плагина.

--------------------------------------------------------------------------------
w17 2012-11-28 19:22:32+04:00 - build 2979

1. search failure after '\0' in editor

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. не работал поиск в редакторе после '\0'

--------------------------------------------------------------------------------
drkns 2012-11-28 00:23:56+02:00 - build 2978

1. Continuation of 2953.

--------------------------------------------------------------------------------
shmuel 2012-11-27 15:58:53+02:00 - build 2977

1. Continuation of 2976: DB sections renamed.
   "farconfig/macros/variables" --> "farconfig/macros/modules".
   "farconfig/macros/variables/variable" --> "farconfig/macros/modules/module".
   If someone has already created modules, export them from 2976, rename the sections, import to 2977.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 2976: переименования секций в базе.
   "farconfig/macros/variables" --> "farconfig/macros/modules".
   "farconfig/macros/variables/variable" --> "farconfig/macros/modules/module".
   Если кто-то уже успел создать модули, нужно сделать экспорт из 2976, переименовать секции, импорт в 2977.

--------------------------------------------------------------------------------
shmuel 2012-11-25 19:08:41+02:00 - build 2976

1. Experimental: the use of "farconfig/macros/variables" database section for Lua modules (libraries).
   Each variable stands for a module. The module names are case dependent.
   Example: <variable name="shmuel.utils" type="text"> ...... </variable>
   Example of use in a macro: utils=require "shmuel.utils"
   ATTENTION: "variables" are no longer loaded at FAR start. Use "constants" for this.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Экспериментально: использование секции "farconfig/macros/variables" базы данных для Lua-модулей (библиотек).
   Каждая переменная - модуль. Имена модулей регистрозависимы.
   Например: <variable name="shmuel.utils" type="text"> ...... </variable>
   Пример использования в макросе: utils=require "shmuel.utils"
   ВНИМАНИЕ: "variables" больше не грузятся при старте Фара. Используйте для этого "constants".

--------------------------------------------------------------------------------
svs 2012-11-25 20:06:39+04:00 - build 2975

1. Correction of GetSearchReplaceString - hiding All button.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение GetSearchReplaceString - скрываем кнопку All.

--------------------------------------------------------------------------------
shmuel 2012-11-25 10:44:34+02:00 - build 2974

1. Macro API: Mouse.LastCtrlState property is added, unlike Mouse.CtrlState, it is
   updated both on mouse and keyboard events.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro API: добавлено свойство Mouse.LastCtrlState, которое (в отличие от Mouse.CtrlState)
   обновляется как по мышиным, так и по клавиатурным событиям.

--------------------------------------------------------------------------------
drkns 2012-11-24 15:48:39+02:00 - build 2973

1. Continuation of 2972.

--------------------------------------------------------------------------------
w17 2012-11-23 18:15:56+04:00 - build 2972

1. Continuation of 2791
   [System Properties] malfunction in file attributes dialog on old Windows versions

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 2791
   Не работали [System Properties] в диалоге атрибутов файла на старых версиях Windows

--------------------------------------------------------------------------------
shmuel 2012-11-23 11:51:43+02:00 - build 2971

1. Plugins API: in GetDirList and FSF.FarRecursiveSearch functions, some fields of PluginPanelItem structure
   contained garbage.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Plugins API: в функциях GetDirList и FSF.FarRecursiveSearch некоторые поля структуры PluginPanelItem
   содержали мусор.

--------------------------------------------------------------------------------
shmuel 2012-11-22 19:58:34+02:00 - build 2970

1. Forum: Menu.Show(Items,"",0x8+0x80,Idx) does not position to item with number Idx.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Из форума: Menu.Show(Items,"",0x8+0x80,Idx) не происходит позиционирование на пункт с номером Idx.

--------------------------------------------------------------------------------
drkns 2012-11-22 19:41:01+02:00 - build 2969

1. Excessive SetCurrentDirectory call in launcher.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Лишний вызов SetCurrentDirectory в запускателе.

--------------------------------------------------------------------------------
lort 2012-11-22 21:06:41+04:00 - build 2968

1. Crash when copying selected block in viewer.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Падение при копировании выделенного блока во вьювере.

--------------------------------------------------------------------------------
shmuel 2012-11-21 23:59:49+02:00 - build 2967

1. Correction of 2966.

--------------------------------------------------------------------------------
shmuel 2012-11-21 22:19:38+02:00 - build 2966

1. M#2163: LUA: DisableOutput flag does not work

--------------------------------------------------------------------------------
w17 2012-11-21 22:16:55+04:00 - build 2965

1. truemod broken aka 'no' to regexps (from sonar)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Отвалился truemod aka нет регуляркам (from sonar)

--------------------------------------------------------------------------------
drkns 2012-11-21 00:02:24+02:00 - build 2964

1. Continuation of 2953.1.

--------------------------------------------------------------------------------
drkns 2012-11-20 21:44:24+02:00 - build 2963

1. 0002203: Import malfunction

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002203: Не работал импорт

--------------------------------------------------------------------------------
drkns 2012-11-20 21:31:35+02:00 - build 2962

1. 0002202: Crash on plugin loading/unloading

--------------------------------------------------------------------------------
svs 2012-11-20 13:03:29+04:00 - build 2961

1. Duplicate hotkeys in "Plugins manager settings" dialog and viewer settings

2. Correction of help, including TI:
   #15 System.SetAttrFolderRules
   #29 System.WipeSymbol
   #31 System.FlagPosixSemantics
   #37 System.ShowCheckingFile
   #63 System.PluginMaxReadData
   #51 System.SilentLoadPlugin
   #17 System.ExceptRules
   #23 System.CopyBufferSize
   #36 System.SubstNameRule
   #42 System.SubstPluginPrefix
   #69 System.CopySecurityOptions
   #25 Interface.CursorSize1..Interface.CursorSize4
   #1  Editor.WordDiv
   #19 Editor.ReadOnlyLock
   #20 Editor.FileSizeLimit
   #16 XLat.WordDivForXlat

3. Options::MaxPositionCache ("System.MaxPositionCache", TechInfo #11) is removed as deprecated.

4. Options::Dialogs.SelectFromHistory ("Dialog.SelectFromHistory", TechInfo #41) is removed as deprecated.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Дубликаты хоткеев в диалоге "Параметры менеджера плагинов" и настройки вьювера

2. Уточнение хелпа, в т.ч. для TI:
   #15 System.SetAttrFolderRules
   #29 System.WipeSymbol
   #31 System.FlagPosixSemantics
   #37 System.ShowCheckingFile
   #63 System.PluginMaxReadData
   #51 System.SilentLoadPlugin
   #17 System.ExceptRules
   #23 System.CopyBufferSize
   #36 System.SubstNameRule
   #42 System.SubstPluginPrefix
   #69 System.CopySecurityOptions
   #25 Interface.CursorSize1..Interface.CursorSize4
   #1  Editor.WordDiv
   #19 Editor.ReadOnlyLock
   #20 Editor.FileSizeLimit
   #16 XLat.WordDivForXlat

3. Удалена опция Options::MaxPositionCache ("System.MaxPositionCache", TechInfo #11) - не удаленный раритет.

4. Удалена опция Options::Dialogs.SelectFromHistory ("Dialog.SelectFromHistory", TechInfo #41) - не удаленный раритет.

--------------------------------------------------------------------------------
svs 2012-11-20 12:48:10+04:00 - build 2960

1. Typos

2. Conflicting hotkeys in editor settings dialog

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Очепятки

2. Одинаковые хоткеи в диалоге настройки редактора

--------------------------------------------------------------------------------
svs 2012-11-20 11:01:50+04:00 - build 2959

1. Edit::Search() content moved to SearchString()

2. GetSearchReplaceString() redone
   Title and SubTitle parameters are added
   Case, WholeWords, Reverse and Regexp parameters are now pointers.
   If any of the parameters is nullptr then the corresponding option in dialog is set to Disable (or has to be hidden?)

2. Help: proceeding with help.
   Now Case, WholeWords and Regexp options are available
   Initial options are taken from global values:

      Case             Global->GlobalSearchCase         (as in editor)
      WholeWords       Global->GlobalSearchWholeWords   (as in editor)
      Regexp           Global->Opt->HelpSearchRegexp    (standalone, "Help.HelpSearchRegexp" of Bool type)

   Next:
     Next line in file must be "cleared" from markup before feeding it to SearchString()

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Содержимое Edit::Search() перенесено в SearchString()

2. Переделан GetSearchReplaceString()
   Добавлены парамтры Title и SubTitle
   Параметры Case, WholeWords, Reverse и Regexp теперь поинтеры.
   Если один из этих параметров равен nullptr, то соответствующая опция в диалоге переводится в Disable (или надо прятать?)

2. Help: продолжаем мучать поиск.
   Теперь доступны опции Case, WholeWords и Regexp
   Первоначальные опции берутся из глобальных значений:

      Case             Global->GlobalSearchCase         (как у редактора)
      WholeWords       Global->GlobalSearchWholeWords   (как у редактора)
      Regexp           Global->Opt->HelpSearchRegexp    (самостоятельная, "Help.HelpSearchRegexp" типа Bool)

   Дальше:
     Необходимо очередную строку файла "очищать" от элементов разметки перед подачей в SearchString()

--------------------------------------------------------------------------------
drkns 2012-11-19 23:08:59+02:00 - build 2958

1. Forum: pressing Enter on a boolean value in far:config causes a crash.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: если в диалоге far:config нажать Enter на булевой величине, то падаем.

--------------------------------------------------------------------------------
drkns 2012-11-19 23:04:39+02:00 - build 2957

1. Continuing global variables elimination.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжаем давить глобальные переменные.

--------------------------------------------------------------------------------
drkns 2012-11-19 13:47:53+02:00 - build 2956

1. Correction of 2953.1.

--------------------------------------------------------------------------------
w17 2012-11-19 14:53:38+04:00 - build 2955

1. Correction of 2926
   'plugin' flag lost in refactoring which lead to plugin settings loading failure from default configuration.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 2926
   В результате рефакторинга потерялся флаг 'plugin' из-за чего не грузились настройки плагинов из умолчательного конфига.

--------------------------------------------------------------------------------
shmuel 2012-11-19 12:11:54+02:00 - build 2954

1. Far.Cfg_Get() macrofunction works for all settings displayed in far:config.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Макрофункция Far.Cfg_Get() работает для всех настроек, которые выводятся по far:config.

--------------------------------------------------------------------------------
drkns 2012-11-18 20:44:29+02:00 - build 2953

1. Say "No!" to dr^W global variables and especially to global objects initialized in random order.
   Part #1: Now there is one global object Global, please put everything in it, not in hpp files.
   To be continued.

2. A bonus to #1: dialog handling function and thread function can be class members now.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Скажем "нет!" наркоти^W глобальным переменным и особенно глобальным объектам, инициализирующимся в случайном порядке.
   Часть 1: Теперь есть один глобальный объект Global, просьба всё пихать в него, а не по hpp-файлам.
   Продолжение следует.

2. В качестве бонуса к п. 1 - функция-обработчик диалога и функция-исполнятор треда теперь могут быть членами класса.

--------------------------------------------------------------------------------
drkns 2012-11-18 09:55:22+02:00 - build 2952

1. Correction of alignment for debug builds.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение выравнивания для отладочных билдов.

--------------------------------------------------------------------------------
shmuel 2012-11-18 01:29:46+02:00 - build 2951

1. FAR crash if msgbox() was called in a plugin, right after Plugin.Call(), and then Esc was pressed,
   given that a macro is bound to Esc in dialogs.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Фар падал, если в макросе сразу после Plugin.Call() вызывался msgbox(), а в нём нажимали Esc,
   при том, что в диалогах на Esc был назначен макрос.

--------------------------------------------------------------------------------
svs 2012-11-13 20:32:42+04:00 - build 2950

1. First approximation for search in help.
   F7 key as usual.
   The results are presented as links to found topics.

   The search is dumb so far, the occurrence of entered substring is searched in lines read from current help file.

   Next:
   1. Debug
   2. Replace GetString(...) with GetSearchReplaceString(false,...) with all bells and whistles (Case, WholeWords and Regexp fields)
   3. something more

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Первое приближение поиска в хелпе.
   Как обычно клавиша F7.
   Результаты - в виде ссылок на найденные темы.

   Поиск пока туп, ищет вхождение введенной подстроки в очередной строке считываемой из текущего файла помощи.

   Дальше:
   1. Выловить жуков
   2. Вместо GetString(...) заюзать GetSearchReplaceString(false,...) со всеми свистелками и перд... (поля Case, WholeWords и Regexp)
   3. что-то еще

--------------------------------------------------------------------------------
zg 2012-11-12 15:08:38+02:00 - build 2949

1. forum: Far.DisableHistory is broken for everyone or just me ?

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. с форума: Far.DisableHistory только у меня перестал работать ?

--------------------------------------------------------------------------------
lort 2012-11-11 16:47:46+04:00 - build 2948

1. If a menu does not fit the screen height, draw it upwards.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Если меню не помещается по высоте, рисуем его вверх.

--------------------------------------------------------------------------------
w17 2012-11-11 16:31:30+04:00 - build 2947

1. Another correction of 2943

--------------------------------------------------------------------------------
lort 2012-11-11 15:27:16+04:00 - build 2946

1. Correction of 2944

--------------------------------------------------------------------------------
w17 2012-11-11 09:54:32+04:00 - build 2945

1. Correction of 2943

--------------------------------------------------------------------------------
t-rex 2012-11-11 03:34:35+02:00 - build 2944

1. Fix for numerous bugs in new menus, for example:
   - right click in drive menu called emenu twice
   - for filter (CtrlAltF) in filter menu, BS didn't edit the filter
   The meaning of the fix: VMenu2:Call() (i.e. menu processing function)
   must return true if it has processed the event ant there is nothing more to do
   (regardless of what encyclopedia says about the return codes of DN_*).
   There had been a mess before.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Исправились различные баги в новом меню, например:
   - right click в меню дисков вызывал emenu два раза
   - при фильтре (CtrlAltF) в меню фильтров, BS не редактировал фильтр
   Смысл исправления таков: VMenu2:Call() (т.е. функция обработки меню)
   должна возвращать true если она обработала событие и дальше ничего делать не надо
   (вне зависимости что говорит енц. о кодах возврата различных DN_*).
   До этого была какая то мешанина.

--------------------------------------------------------------------------------
w17 2012-11-10 22:33:19+04:00 - build 2943

1. Fix for viewer search with persistent selection off.

--------------------------------------------------------------------------------
drkns 2012-11-10 20:17:07+02:00 - build 2942

1. Another bug with new menus - for regular dialogs InitDialogObjects() was called twice, sometimes with interesting consequences.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Очередной глюк новых меню - у обычных диалогов InitDialogObjects() вызывалась дважды, иногда с интересными последствиями.

--------------------------------------------------------------------------------
lort 2012-11-09 23:06:48+04:00 - build 2941

1. couldn't close the print window (M#2193.1)

2. Incorrect calculation of menu position.

3. ECTL_REALTOTAB, ECTL_TABTOREAL and ECTL_SELECT malfunctional in wrapper

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не убиралось с экрана окно печати (M#2193.1)

2. Неправильно рассчитывались координаты меню.

3. Во врапере не работали ECTL_REALTOTAB, ECTL_TABTOREAL и ECTL_SELECT

--------------------------------------------------------------------------------
t-rex 2012-11-09 17:29:21+02:00 - build 2940

1. "Right click selects files" option in "Panel Settings".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Настройка в "Right click selects files" в "Panel Settings".

--------------------------------------------------------------------------------
shmuel 2012-11-08 18:25:29+02:00 - build 2939

1. M#2192: artifacts after macro loading errors.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2192: артефакты после ошибок загрузки макросов.

--------------------------------------------------------------------------------
shmuel 2012-11-08 10:38:50+02:00 - build 2938

1. Correction of 2923 (_control87 call moved from FAR to LuaMacro plugin).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 2923 (перенос вызова _control87 из Фара в плагин LuaMacro).

--------------------------------------------------------------------------------
t-rex 2012-11-07 20:33:12+02:00 - build 2937

1. On file association start, if associated app couldn't be detected by FAR
   buf the start was successful, then starting error was displayed.
   It is especially actual for Windows 8 metro app associations.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При запуске файлов по ассоциациям, когда ассоциированная аппликация не успешно определялась фаром
   но запуск происходил успешно, показывалась ошибка запуска.
   Особенно актуально в Windows 8 при ассоциациях на метро аппликации.

--------------------------------------------------------------------------------
lort 2012-11-07 21:56:16+04:00 - build 2936

1. When autocompletion menu was open, "." could not be entered from numeric keyboard.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При открытом меню автодополнения нельзя было ввести "." с цифровой клавиатуры.

--------------------------------------------------------------------------------
shmuel 2012-11-06 21:41:14+02:00 - build 2935

1. M#2189: In editor, Keys('CtrlX') always uses Windows clipboard.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2189: Keys('CtrlX') в редакторе всегда использует виндовый клипборд.

--------------------------------------------------------------------------------
lort 2012-11-06 20:21:06+04:00 - build 2934

1. Dlg.Id and Dlg.Owner malfunction with open autocompletion menu.

2. Correction of 2897.3

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не работали Dlg.Id и Dlg.Owner при открытом меню автодополнения.

2. Уточнение 2897.3

--------------------------------------------------------------------------------
w17 2012-11-06 14:08:45+04:00 - build 2933

1. viewer dump mode autodetect fixed

--------------------------------------------------------------------------------
w17 2012-11-06 09:49:47+04:00 - build 2932

1. correction of 2915

--------------------------------------------------------------------------------
shmuel 2012-11-05 18:00:53+02:00 - build 2931

1. Correction of 2923 ("debug asserion failed" for x64).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 2923 ("debug asserion failed" на x64).

--------------------------------------------------------------------------------
w17 2012-11-05 18:18:43+04:00 - build 2930

1. M#2187: malfunctional "@" and SilentExternal for external Viewer/Editor call

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2187: Не рабочий "@" и SilentExternal для вызова внешнего Вьювера и\или Просмотрщика

--------------------------------------------------------------------------------
w17 2012-11-05 06:29:56+04:00 - build 2929

1. M#2185: Error while setting colors of sorting groups files

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2185: Ошибка при установке цветов раскраски файлов групп сортировки

--------------------------------------------------------------------------------
shmuel 2012-11-04 01:06:54+02:00 - build 2928

1. M#2183: A macro cannot insert the end of line.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2183: Не возможно макросом вставить конец строки.

--------------------------------------------------------------------------------
drkns 2012-11-03 19:26:52+02:00 - build 2927

1. Another couple of issues.

--------------------------------------------------------------------------------
drkns 2012-11-03 17:42:08+02:00 - build 2926

1. Continuing refactoring of configdb.

2. Refactoring of BitFlags.

--------------------------------------------------------------------------------
zg 2012-11-03 17:01:30+02:00 - build 2925

1. correction of VCTL_SETKEYBAR and Param2=-1.

--------------------------------------------------------------------------------
drkns 2012-11-02 23:59:11+02:00 - build 2924

1. Correction of 2920.

--------------------------------------------------------------------------------
shmuel 2012-11-02 23:03:34+02:00 - build 2923

1. Experimental: preventing crashes from division by zero for plugins setting FPU exceptions on.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Экспериментально: предотвращение падений при делении на ноль из-за плагинов, включающих FPU exceptions.

--------------------------------------------------------------------------------
shmuel 2012-11-02 17:59:31+02:00 - build 2922

1. FarMacroCall structure is streamlined.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Упорядочена структура FarMacroCall.

--------------------------------------------------------------------------------
drkns 2012-11-02 02:18:10+02:00 - build 2921

1. Continuation of 2920.

--------------------------------------------------------------------------------
drkns 2012-11-02 02:05:17+02:00 - build 2920

1. Slight refactoring of configdb.

--------------------------------------------------------------------------------
zg 2012-11-01 23:05:49+02:00 - build 2919

1. OPEN_FROM_MASK is removed for uselessness.

--------------------------------------------------------------------------------
zg 2012-11-01 22:16:49+02:00 - build 2918

1. ViewerMode.Type -> ViewerMode.ViewMode.

2. VSMT_HEX -> VSMT_VIEWMODE.

--------------------------------------------------------------------------------
w17 2012-11-01 18:06:23+04:00 - build 2917

1. correction of 2913, 2914, 2916 - 'panelmodes' were not loaded

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 2913, 2914, 2916 - не загружались 'panelmodes'

--------------------------------------------------------------------------------
w17 2012-11-01 16:05:57+04:00 - build 2916

1. correction of 2913, 2914
   The parameter name in Far.exe.ini changed to TemplateProfile.
   By default this is a path to FILE (%FARHOME%\Default.farconfig).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 2913, 2914
   Имя параметра в Far.exe.ini изменено на TemplateProfile.
   По умолчанию это путь к ФАЙЛУ (%FARHOME%\Default.farconfig).

--------------------------------------------------------------------------------
w17 2012-11-01 12:52:48+04:00 - build 2915

1. M#2181: crash after VE_READ.

--------------------------------------------------------------------------------
w17 2012-10-31 11:54:41+04:00 - build 2914

1. correction of 2913 - fixing broken export

--------------------------------------------------------------------------------
w17 2012-10-30 20:12:55+04:00 - build 2913

1. M#2177: Implement possibility of default settings/profile creation
   Settings are imported from Default.farconfig file, its location is given by
   TemplateProfileDir  parameter in Far.exe.ini (%FARHOME%\Default is default),
   or via command line '/t "TemplateDir"'.  Settings are imported at the moment of
   settings DB file open and only if the file is missing.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2177: Сделать возможность создания настроек/профиля по умолчанию
   Настройки импортируются из файла Default.farconfig, его расположение
   можно задать в параметре TemplateProfileDir Far.exe.ini (умолчание %FARHOME%\Default),
   или в командной строке '/t "TemplateDir"'.  Настройки импортируются в момент первого
   открытия файлов б.д. настроек и только если файл отсутствует.

--------------------------------------------------------------------------------
zg 2012-10-30 00:20:23+02:00 - build 2912

1. Flags field added to OpenShortcutInfo. FOSF_ACTIVE is set
   if OPEN_SHORTCUT is called in the active panel
   and not set for the passive one.

2. from Alexey Samlyukov: FarMacroValue.Length -> FarMacroValue.Size

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. в OpenShortcutInfo добавлено поле Flags. FOSF_ACTIVE устанавливается,
   если OPEN_SHORTCUT вызывается для активной панели
   и не устанавливается для пассивной панели.

2. от Alexey Samlyukov: FarMacroValue.Length -> FarMacroValue.Size

--------------------------------------------------------------------------------
lort 2012-10-29 18:35:55+04:00 - build 2911

1. Return scren redraw in dialog destructor.

2. History menu remained on screen after launch a command displaying nothing.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Вернем перерисовку экрана в деструкторе диалога.

2. Меню истории оставалось на экране после запуска команды, которая ничего на экран не выводит.

--------------------------------------------------------------------------------
shmuel 2012-10-29 16:02:33+02:00 - build 2910

1. No 'P' symbol in upper left corner of the screen while running editor/viewer macro starting from mf.waitkey(0)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Если макрос, запущенный из редактора или вьювера, начинался с mf.waitkey(0),
   то не появлялся символ исполнения макроса 'P' в левом верхнем углу экрана.

--------------------------------------------------------------------------------
drkns 2012-10-28 21:40:06+02:00 - build 2909

1. Warnings.

--------------------------------------------------------------------------------
zg 2012-10-28 17:11:29+02:00 - build 2908

1. gcc warnings.

--------------------------------------------------------------------------------
zg 2012-10-28 01:57:25+02:00 - build 2907

1. ACTL_GETWINDOWINFO returned wrong Type and TypeName for menus.

2. ACTL_GETWINDOWTYPE returned wrong Type for menus.

3. captions acquisition did not work for menus.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. ACTL_GETWINDOWINFO неверно возвращал Type и TypeName для меню.

2. ACTL_GETWINDOWTYPE неверно возвращал Type для меню.

3. получение заголовков для меню не работало.

--------------------------------------------------------------------------------
zg 2012-10-27 23:55:03+02:00 - build 2906

1. regression in 1605.2.

--------------------------------------------------------------------------------
zg 2012-10-27 22:54:17+02:00 - build 2905

1. correction of 2882.

--------------------------------------------------------------------------------
shmuel 2012-10-27 20:52:46+02:00 - build 2904

1. If a plugin returns 1 or INVALID_HANDLE_VALUE on OPEN_FROMMACRO call then Plugin.Call returns true.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Если плагин при вызове OPEN_FROMMACRO возвращает 1 или INVALID_HANDLE_VALUE, то Plugin.Call возвращает true.

--------------------------------------------------------------------------------
shmuel 2012-10-25 22:48:24+02:00 - build 2903

1. Correction of 2898.

2. Forum: macros able to run while another macro works, i.e. instead of key name recognition
   an appropriate macro is started if there's one.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 2898.

2. Из форума: во время работы макроса срабатывают другие макросы - то есть, вместо узнавания
   имени клавиши происходит исполнение макроса (если он есть).

--------------------------------------------------------------------------------
shmuel 2012-10-25 12:10:48+02:00 - build 2902

1. Correction of 2898.

--------------------------------------------------------------------------------
w17 2012-10-25 13:41:27+04:00 - build 2901

1. M#2179, RCtrlIns/Num0 are not processed in FastFind (CtrlIns is enough to get the text)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2179, RCtrlIns/Num0 не обрабатываются в FastFind (для получения текста достаточно CtrlIns)

--------------------------------------------------------------------------------
lort 2012-10-24 19:07:51+04:00 - build 2900

1. Fix for redraw in autocompletion.

2. Disable CtrlF5 in history and F11 in plugins menu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Исправление перерисовки в автодополении.

2. Запретим CtrlF5 в истории и F11 в меню плагинов.

--------------------------------------------------------------------------------
shmuel 2012-10-24 01:52:21+02:00 - build 2899

1. Plugin.Call asynchronous call returns:
   - false if the plugin is not found
   - true if the call is asynchronous in fact
   - else the same as with synchronous call

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Асинхронный вызов Plugin.Call возвращает:
   - false, если плагин не найден
   - true, если вызов по факту оказался асинхронным
   - иначе, как при синхронном вызове

--------------------------------------------------------------------------------
shmuel 2012-10-24 00:16:56+02:00 - build 2898

1. M#2170: Malfunction of Plugin.Call 'async' mode, which should be activated by mmode(3, 1) command.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2170: Не работает "асинхронный" режим Plugin.Call, который должен включаться командой mmode(3, 1).

--------------------------------------------------------------------------------
lort 2012-10-23 19:19:23+04:00 - build 2897

1. All menus are redone and now based on dialogs, VMenu class is now used for DI_LISTBOX and DI_COMBOBOX
   implementation only, VMenu2 in other places.

2. DN_LISTHOTKEY is now sent only if a hotkey has been really pressed.

3. Lists without DIF_LISTNOCLOSE flag close the dialog on mouse button release, not on button press.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Все меню переделаны на основе диалогов, класс VMenu используется теперь только для реализации
   DI_LISTBOX и DI_COMBOBOX, в остальных местах VMenu2.

2. DN_LISTHOTKEY теперь приходит только когда действительно была нажата горячая клавиша.

3. Списки без флага DIF_LISTNOCLOSE закрывают диалог при отпускании кнопки мыши, а не при нажатии.

--------------------------------------------------------------------------------
shmuel 2012-10-21 10:41:54+02:00 - build 2896

1. If a macro had DisableOutput and Plugin.Call() displayed a dialog, it was not shown on screen.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Если у макроса флаг DisableOutput, и Plugin.Call() выводил диалог, то он не появлялся на экране.

--------------------------------------------------------------------------------
shmuel 2012-10-20 19:43:21+02:00 - build 2895

1. Four data types able to return Plugin.Call are appended with another one:
   "binary value" - this is a string that can contain any data and is not affected with
   UTF-16LE -> UTF-8 transformation.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. К четырём типам данных, которые может возвращать Plugin.Call, добавился ещё один:
   "бинарная величина" - это string, который может содержать любые данные и который
   не подвергается преобразованию UTF-16LE -> UTF-8.

--------------------------------------------------------------------------------
zg 2012-10-20 11:21:39+02:00 - build 2894

1. correction of 2893.

--------------------------------------------------------------------------------
shmuel 2012-10-20 08:21:04+02:00 - build 2893

1. Plugin.Call can return one or more values, each of then can be:
   64-bit integer, floating point number, string or boolean value.
     - For that, the invoked plugin must fill in the FarMacroCall structure and return the pointer to it.
     - This structure must be either static or allocated, i.e. do not place it in OpenW function's stack.
     - If non-zero Callback is specified in the structure then the function will be called.
       At the moment of Callback call the data is already copied and can be freed.
   If the plugin wants just return true or false then it has to return 1 or 0 accordingly.
   The change introduced in build 2891 is cancelled by this one.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Plugin.Call может возвращать одну или более величин, каждая из которых может быть:
   целым 64-битным числом, числом с плавающей точкой, строкой или булевой величиной.
     - Для этого вызываемый плагин должен заполнить структуру FarMacroCall и возвратить указатель на неё.
     - Данная структура должна быть либо статической, либо аллоцированной, т.е. нельзя размещать её
       в стеке функции OpenW.
     - Если в структуре указан не нулевой Callback, то эта функция будет вызвана.
       На момент вызова Callback данные уже скопированы, и их можно освобождать.
   Если плагин хочет просто вернуть true или false, он должен вернуть соответственно 1 или 0.
   Изменение, введенное в билде 2891, данным изменением отменяется.

--------------------------------------------------------------------------------
shmuel 2012-10-19 15:49:37+02:00 - build 2892

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2012-10-18 23:55:32+02:00 - build 2891

1. Plugin.Call returns 0 if the plugin is not found (i. e. as before transition to Lua).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Plugin.Call возвращает 0, если плагин не найден (то-есть, как это было до перехода на Lua).

--------------------------------------------------------------------------------
svs 2012-10-15 17:47:39+04:00 - build 2890

1. "Typos"

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. "Очепятки"

--------------------------------------------------------------------------------
svs 2012-10-15 12:09:58+04:00 - build 2889

1. FAR constants (for MsX etc the constants are reserved in "right places")

2. SZLOG removed - use std, for example, _SHMUEL (details in SYSLOG-RU)

3. MACRO_OP_* removed

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. ФАРоконстанты (для MsX и еже с ним выделены константы в "правильных местах")

2. SZLOG удален - юзаем стд., например, _SHMUEL (подробнее в SYSLOG-RU)

3. Удалены MACRO_OP_*

--------------------------------------------------------------------------------
shmuel 2012-10-15 01:36:45+02:00 - build 2888

1. Refactoring.

--------------------------------------------------------------------------------
shmuel 2012-10-14 15:29:04+02:00 - build 2887

1. Far->LuaFAR->LuaMacro data exchange protocol is slightly simplified.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Немного упрощён протокол передачи данных Far->LuaFAR->LuaMacro.

--------------------------------------------------------------------------------
zg 2012-10-14 04:05:26+02:00 - build 2886

1. on error while macro initialization the upper left screen character "freezed".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. если при инициализации макроса произошла ошибка, то после этого верхний левый символ экрана "замораживался".

--------------------------------------------------------------------------------
shmuel 2012-10-13 14:23:03+02:00 - build 2885

1. If a macro launched by a plugin in panels ended with transition to editor or viewer,
   then the upper left corner of the screen was displayed incorrectly.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Если макрос, запущенный из плагина, начинался в панелях, а его последним действием был
   переход в редактор или вьювер, то неправильно отображался верхний левый символ экрана.

--------------------------------------------------------------------------------
zg 2012-10-12 03:04:19+02:00 - build 2884

1. correction of 2882.

--------------------------------------------------------------------------------
zg 2012-10-12 01:24:21+02:00 - build 2883

1. correction of 2882.

--------------------------------------------------------------------------------
zg 2012-10-11 23:22:48+02:00 - build 2882

1. experimental.
   macros work in interactive objects, such as dialogs created from macros.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. экспериментально.
   в интерактивных объектах, таких как диалоги, созданныx из макросов, работают макросы.

--------------------------------------------------------------------------------
zg 2012-10-11 21:24:04+02:00 - build 2881

1. FAR crash if no luamacro plugin present while macros do exist.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. фар падал при отсутствии плагина luamacro и наличии макросов.

--------------------------------------------------------------------------------
shmuel 2012-10-11 17:14:46+02:00 - build 2880

1. MacroControl(MCTL_GETLASTERROR) function operating is restored with the following changes:
   - ErrCode can take only 2 values: MPEC_SUCCESS and MPEC_ERROR.
   - ErrPos.X has no meaning and must be ignored.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Восстановлена работа функции MacroControl(MCTL_GETLASTERROR), со следующими изменениями:
   - ErrCode может иметь только 2 значения: MPEC_SUCCESS и MPEC_ERROR.
   - ErrPos.X не несёт никакой информации; должен игнорироваться.

--------------------------------------------------------------------------------
shmuel 2012-10-09 11:34:47+02:00 - build 2879

1. MacroControl(MCTL_SENDSTRING,MSSC_CHECK) function also checks files if Sequence[0]=='@'.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Функция MacroControl(MCTL_SENDSTRING,MSSC_CHECK) проверяет также и файлы, если Sequence[0]=='@'.

--------------------------------------------------------------------------------
t-rex 2012-10-08 21:26:43+02:00 - build 2878

1. Fixes in wrapper for ECTL_EXPANDTABS, ECTL_GETBOOKMARKS and ECTL_GETSTACKBOOKMARKS.

2. BookmarkCount and SessionBookmarkCount now are of size_t in EditorInfo, fr uniformity with EditorBookmarks.
   (it does not affect plugins work).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Исправления во враппере для ECTL_EXPANDTABS, ECTL_GETBOOKMARKS и ECTL_GETSTACKBOOKMARKS.

2. BookmarkCount и SessionBookmarkCount теперь size_t в EditorInfo, для однообразия с EditorBookmarks.
   (На работу плагинов не влияет).

--------------------------------------------------------------------------------
shmuel 2012-10-08 08:29:17+02:00 - build 2877

1. Fix: (in editor) "after macro call, text is displayed on screen only after key press".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Fix: (в редакторе) "после вызова макроса текст выводиться на экран тока если нажать какую то клавишу".

--------------------------------------------------------------------------------
t-rex 2012-10-07 15:56:20+02:00 - build 2876

1. Warnings, MACROMODEAREA type is set where needed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ворнинги, выставлен тип MACROMODEAREA везде где надо.

--------------------------------------------------------------------------------
shmuel 2012-10-07 09:13:46+02:00 - build 2875

1. Forum: quotation marks (") no longer supported in macros.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Из форума: Кавычки (") в макросах больше не поддерживаются.

--------------------------------------------------------------------------------
shmuel 2012-10-07 00:43:45+02:00 - build 2874

1. Displaying a message at macro writing attempt if LuaMacro plugin is not loaded.
   (M#2161: Macros malfunction if LUA dll's set is incomplete).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Выдадим сообщение при попытке записи макроса при незагруженном плагине LuaMacro.
   (M#2161: Не работают макросы, если отустствует необходимый набор dll луо).

--------------------------------------------------------------------------------
zg 2012-10-07 00:17:08+02:00 - build 2873

1. ECTL_EXPANDTABS - Param2 is expected as a pointer to intptr_t.
   x64 have to be fixed if ECTL_EXPANDTABS is used.

2. error in ECTL_SETKEYBAR when Param2==-1.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. ECTL_EXPANDTABS - Param2 ожидается как поинтер на intptr_t.
   x64 плагины надо подправить, если используется ECTL_EXPANDTABS.

2. ошибка в ECTL_SETKEYBAR, когда Param2==-1.

--------------------------------------------------------------------------------
t-rex 2012-10-06 20:40:23+02:00 - build 2872

1. x64 warnings in DialogBuilder.

--------------------------------------------------------------------------------
t-rex 2012-10-06 18:48:30+02:00 - build 2871

1. For FSF functions, intptr_t is removed where it has no sense at all,
   x64 plugins have to be rebuilt and fixed if qsort/bsearch/FarRecursiveSearch are used.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Для FSF функций убрал intptr_t там где совсем нет смысла,
   x64 плагины надо пересобрать и подправить если юзаеться qsort/bsearch/FarRecursiveSearch.

--------------------------------------------------------------------------------
svs 2012-10-05 13:55:08+04:00 - build 2870

1. SQLite 3.7.14.1

--------------------------------------------------------------------------------
shmuel 2012-10-05 01:49:35+02:00 - build 2869

1. M#2159: Plugin.Menu waits for menu closed and prevents use of Keys() for hotkey selection in menu

2. Plugin.Menu, Plugin.Config and Plugin.Command macrofunctions return false/true.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2159: Plugin.Menu ожидает закрытия меню и НЕ дает работать Keys() для выбора хоткея в меню

2. Макрофункции Plugin.Menu, Plugin.Config и Plugin.Command возвращают false/true.

--------------------------------------------------------------------------------
w17 2012-10-04 16:37:06+04:00 - build 2868

1. Visible leading space(s) in dialog static text

--------------------------------------------------------------------------------
w17 2012-10-04 15:26:15+04:00 - build 2867

1. 0002167: Crash on Copy File/Folder Interrupt

--------------------------------------------------------------------------------
zg 2012-10-04 05:41:56+02:00 - build 2866

1. ECTL_SETPOSITION did not work in wrapper.

--------------------------------------------------------------------------------
w17 2012-10-03 23:49:25+04:00 - build 2865

1. Viewer assert for looooooooooong lines

--------------------------------------------------------------------------------
shmuel 2012-10-03 16:05:55+02:00 - build 2864

1. Disable macro recording if LuaMacro plugin is not loaded.
   (M#2161: Macros malfunction if LUA dll's set is incomplete).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Запретим запись макросов при незагруженном плагине LuaMacro.
   (M#2161: Не работают макросы, если отустствует необходимый набор dll луо).

--------------------------------------------------------------------------------
w17 2012-10-03 12:50:50+04:00 - build 2863

1. Loacl [x] ShowWhiteSpace broken in editor (and not only there)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Сломался локальный [x] ShowWhiteSpace в редакторе (и не только)

--------------------------------------------------------------------------------
drkns 2012-10-02 22:11:59+02:00 - build 2862

1. 0002165: Encoding selection cancellation

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002165: Отмена выбора кодировки

--------------------------------------------------------------------------------
shmuel 2012-10-02 18:40:00+02:00 - build 2861

1. Erroneous rollback of changes in build 2859.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. По ошибке были стёрты изменения билда 2859.

--------------------------------------------------------------------------------
shmuel 2012-10-02 17:40:00+02:00 - build 2860

1. M#2160: Macro with Menu.Select works in Shell but not in Dialog and Editor.

--------------------------------------------------------------------------------
svs 2012-10-02 17:43:33+04:00 - build 2859

1. Macro: Panel.Item(typePanel,Index,TypeInfo) returns true/false for
    TypeInfo = 8 (Selected) and 10 (SortGroup)

2. Macro: panel.setpath(), fexist(), beep(), Window.Scroll() return true/false

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: Panel.Item(typePanel,Index,TypeInfo) возвращает true/false для
    TypeInfo = 8 (Selected) и 10 (SortGroup)

2. Macro: panel.setpath(), fexist(), beep(), Window.Scroll() возвращает true/false

--------------------------------------------------------------------------------
shmuel 2012-10-02 14:30:00+02:00 - build 2858

1. M#2162: FAR crash at start when used as editor for Git (perhaps because of the new macro engine).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2162: Фар, используемый как редактор в Git падает при старте (возможно из-за нового макродвижка).

--------------------------------------------------------------------------------
zg 2012-10-01 16:18:35+02:00 - build 2857

1. FAR_LUA is removed completely, so is the code that was excluded by its presence.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. FAR_LUA убран полностью. код под него не попадавший - тоже.

--------------------------------------------------------------------------------
svs 2012-10-01 16:05:34+04:00 - build 2856

1. Macro: Plugin.Exist(GUID) now returns true/false.
   Instead of
     if Plugin.Exist(GUID) > 0 then
   write
     if Plugin.Exist(GUID) then

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: Plugin.Exist(GUID) теперь возвращает true/false.
   Вместо
     if Plugin.Exist(GUID) > 0 then
   пишем
     if Plugin.Exist(GUID) then

--------------------------------------------------------------------------------
shmuel 2012-10-01 03:25:00+02:00 - build 2855

1. Correction of 2854 for more common case.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 2854 для более общего случая.

--------------------------------------------------------------------------------
shmuel 2012-10-01 02:05:00+02:00 - build 2854

1. Dlg.GetValue error (from Aidar).

--------------------------------------------------------------------------------
shmuel 2012-09-30 13:50:00+02:00 - build 2853

1. Issue#13: Plugin.Menu waits for menu close instead of returning immediately after menu show.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Issue#13: Plugin.Menu ожидает закрытия меню вместо возврата управления сразу после отображения меню.

--------------------------------------------------------------------------------
zg 2012-09-30 03:41:42+02:00 - build 2852

1. FAR_LUA is removed from plugin.hpp.

--------------------------------------------------------------------------------
zg 2012-09-30 03:26:20+02:00 - build 2851

1. Spring project merged (https://github.com/shmuz/Spring).
   thereby Lua 5.1 is used instead of macro language (http://www.lua.org).
   all macros are broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. слияние с проектом Spring (https://github.com/shmuz/Spring).
   в связи с этим вместо встроенного макроязыка используется скриптовый язык Lua 5.1 (http://www.lua.org).
   все макросы перестали работать.

--------------------------------------------------------------------------------
drkns 2012-09-29 15:20:18+02:00 - build 2850

1. Correction of 2844 for fields with input mask.

2. far:config crash after changes in api.

3. Projects for vs 2012.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 2844 для полей с маской ввода.

2. После изменений в api падал far:config.

3. Проекты для vs 2012.

--------------------------------------------------------------------------------
zg 2012-09-29 13:35:44+02:00 - build 2849

1. correction of 2848: UserData.Data was not freed for elements which did not match search criterions.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 2848: не освобождалась UserData.Data для элементов, не удовлетворявших критериям поиска.

--------------------------------------------------------------------------------
zg 2012-09-29 03:30:26+02:00 - build 2848

1. correction of 2807.1: freeing UserData.Data in search and some other places.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 2807.1: освобождение UserData.Data в поиске и некоторых других местах.

--------------------------------------------------------------------------------
drkns 2012-09-29 00:47:40+02:00 - build 2847

1. Finishing (I hope) this codepage related stuff. For the future, I'd appreciate proper fixes instead of monkey patching.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Закончим (надеюсь) эту возню с codepage. На будущее просьба править нормально, а не расставлять затычки.

--------------------------------------------------------------------------------
w17 2012-09-28 08:45:42+04:00 - build 2846

1. M#2157: Alt-F7: file content search gives no result on fresh 64-bit versions (aka 2838 continue)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2157: Alt-F7: поиск по содержимому файлов безрезультатен на свежих 64-разрядных версиях (aka 2838 continue)

--------------------------------------------------------------------------------
w17 2012-09-28 08:09:25+04:00 - build 2845

1. GETTEXT returned L"\0"; instead of empty string

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Вместо пустой строки GETTEXT возвращал L"\0";

--------------------------------------------------------------------------------
drkns 2012-09-27 22:45:22+02:00 - build 2844

1. Highlight text in dialog text field ending with spaces or tabulations.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Если текст в диалоговом поле ввода заканивается пробелами или табуляциями - подсветим их.

--------------------------------------------------------------------------------
drkns 2012-09-27 19:13:43+02:00 - build 2843

1. HANDLE hPanel removed from ProcessConsoleInputInfo.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Из ProcessConsoleInputInfo удален HANDLE hPanel.

--------------------------------------------------------------------------------
w17 2012-09-27 11:58:13+04:00 - build 2842

1. M#2156: Shift-F4: file contents lost on save (aka 2838 continue)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2156: Shift-F4: содержимое файла теряется после сохранения (aka 2838 continue)

--------------------------------------------------------------------------------
w17 2012-09-26 10:49:55+04:00 - build 2841

1. another excessive one

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. ещё одна лишняя

--------------------------------------------------------------------------------
w17 2012-09-26 10:14:11+04:00 - build 2840

1. wrong fix for a 'typo', rolling back

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. одна 'опечатка' поправлена зря - вернём

--------------------------------------------------------------------------------
w17 2012-09-26 10:00:52+04:00 - build 2839

1. -typos in dialog.cpp (thnx sonar)

--------------------------------------------------------------------------------
w17 2012-09-25 19:48:01+04:00 - build 2838

1. x64 Editor fix

--------------------------------------------------------------------------------
svs 2012-09-24 11:32:50+04:00 - build 2837

1. Mantis#0001687: ProcessConsoleInput
   Open.
   Bugs go to new tickets.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001687: ProcessConsoleInput
   Открыто.
   Баги в рамках новых Инцов.

--------------------------------------------------------------------------------
w17 2012-09-24 10:52:12+04:00 - build 2836

1. Debug build fix

--------------------------------------------------------------------------------
zg 2012-09-23 21:22:44+02:00 - build 2835

1. ACTL_EJECTMEDIA is removed.

--------------------------------------------------------------------------------
zg 2012-09-23 20:56:39+02:00 - build 2834

1. from Alexey Samlyukov:
   PluginPanelItem.UserData.UserData -> PluginPanelItem.UserData.Data
   PluginPanelItem.UserData.Callback -> PluginPanelItem.UserData.FreeData

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. от Alexey Samlyukov:
   PluginPanelItem.UserData.UserData -> PluginPanelItem.UserData.Data
   PluginPanelItem.UserData.Callback -> PluginPanelItem.UserData.FreeData

--------------------------------------------------------------------------------
drkns 2012-09-23 20:31:24+02:00 - build 2833

1. intptr_t & DlgBuilder

2. Leave vswscanf for gcc.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. intptr_t & DlgBuilder

2. Оставим vswscanf для gcc.

--------------------------------------------------------------------------------
zg 2012-09-23 20:03:02+02:00 - build 2832

1. vc has no vswscanf.

--------------------------------------------------------------------------------
zg 2012-09-23 19:12:13+02:00 - build 2831

1. in API, some UINT/DWORD are replaced with uintptr_t.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. в апи некоторые UINT/DWORD заменены на uintptr_t.

--------------------------------------------------------------------------------
zg 2012-09-23 17:19:39+02:00 - build 2830

1. int is replaced with intptr_t throughout whole API.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. во всём апи int заменён на intptr_t.

--------------------------------------------------------------------------------
zg 2012-09-23 03:09:28+02:00 - build 2829

1. Reserved is added to a couple of structures.

2. StructSize field is added to the following structures:
   FarDialogEvent
   FarList

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. добавлены Reserved в паре структур.

2. поле StructSize добавлено в следующие структуры:
   FarDialogEvent
   FarList

--------------------------------------------------------------------------------
zg 2012-09-23 01:52:19+02:00 - build 2828

1. ViewerMode is redone. Wrap&WordWrap -> Flags. Hex -> Type.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. переделана ViewerMode. Wrap&WordWrap -> Flags. Hex -> Type.

--------------------------------------------------------------------------------
zg 2012-09-23 00:37:48+02:00 - build 2827

1. PanelMode got rid of StructSize field.

2. some structures lost the Reserved field.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. из PanelMode убрано поле StructSize.

2. из некоторых структур убраны поля Reserved.

--------------------------------------------------------------------------------
drkns 2012-09-23 00:00:16+02:00 - build 2826

1. A new opti "cursor at end" in editor settings, when switched on, search places the cursor to the end of found text

2. "select found" option moved from search dialog to editor settings dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В настройках редактора новая опция - "cusror at end", если вкл - при поиске курсор установится в конец найденного фрагмента

2. Опция "select found" переехала из диалога поиска в диалог настроек редактора.

--------------------------------------------------------------------------------
zg 2012-09-22 22:38:35+02:00 - build 2825

1. in InfoPanelLine, Separator is replaced with Flags. IPLFLAGS_SEPARATOR flag is added.
   all native plugins are broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. в InfoPanelLine Separator заменён на Flags. добавлен флаг IPLFLAGS_SEPARATOR.
   все нативные плагины перестали работать.

--------------------------------------------------------------------------------
zg 2012-09-22 21:37:30+02:00 - build 2824

1. in ECTL_SETKEYBAR/VCTL_SETKEYBAR, FarSetKeyBarTitles must be passed instead of KeyBarTitles.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. в ECTL_SETKEYBAR/VCTL_SETKEYBAR вместо KeyBarTitles должна передаваться FarSetKeyBarTitles.

--------------------------------------------------------------------------------
zg 2012-09-22 04:39:38+02:00 - build 2823

1. From Shmuel Zeigerman: correction of 2822.

--------------------------------------------------------------------------------
zg 2012-09-22 02:25:21+02:00 - build 2822

1. for obvious reasons, PInfo and GInfo fields in FarGetPluginInformation are made pointers.
   PCTL_GETPLUGININFORMATION functioning is unchanged.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. по очевидным причинам поля PInfo и GInfo в FarGetPluginInformation сделаны указателями.
   в работе PCTL_GETPLUGININFORMATION ничего не изменилось.

--------------------------------------------------------------------------------
zg 2012-09-22 01:17:59+02:00 - build 2821

1. StructSize field added to the following structures:
   FarSettingsItem
   FarSettingsEnum
   FarSettingsValue
   all native plugins are broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. поле StructSize добавлено в следующие структуры:
   FarSettingsItem
   FarSettingsEnum
   FarSettingsValue
   все нативные плагины перестали работать.

--------------------------------------------------------------------------------
zg 2012-09-21 17:01:33+02:00 - build 2820

1. ViewerInfo got rid of FileName field, like in editor.

2. in order to obtain file name, VCTL_GETFILENAME is added, similar to ECTL_GETFILENAME.

3. correction of 2816 for ANSI plugins.

4. all native plugins are broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. по аналогии с редактором из ViewerInfo убрано поле FileName.

2. для получения имени файла добавлен VCTL_GETFILENAME, полностью аналогичный ECTL_GETFILENAME.

3. уточнение 2816 для анси плагинов.

4. все нативные плагины перестали работать.

--------------------------------------------------------------------------------
w17 2012-09-21 13:02:47+04:00 - build 2819

1. M#1870: in Show selected first, selection of the last item gets the cursor "jump" to the item

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#1870: при Show selected first выделение последнего элемента приводит к "прыжку" курсора на этот элемент

--------------------------------------------------------------------------------
zg 2012-09-21 02:25:27+02:00 - build 2818

1. ACTL_ENABLEREDRAW is removed.

--------------------------------------------------------------------------------
zg 2012-09-21 02:15:53+02:00 - build 2817

1. SessionBookmarkCount field is added to EditorInfo.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. в EditorInfo добавлено поле SessionBookmarkCount.

--------------------------------------------------------------------------------
zg 2012-09-21 02:01:45+02:00 - build 2816

1. for ECTL_GETFILENAME the buffer size is passed in Param1.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. для ECTL_GETFILENAME в Param1 необходимо указывать размер передаваемого буфера.

--------------------------------------------------------------------------------
zg 2012-09-21 00:43:26+02:00 - build 2815

1. EditorBookMarks -> EditorBookmarks. Size is the size of allocated memory as in FarGetPluginPanelItem.
   required size can be obtained with ECTL_GETBOOKMARKS/ECTL_GETSESSIONBOOKMARKS call.
   Count returns bookmarks count.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. EditorBookMarks -> EditorBookmarks. в Size размер выделенной памяти по аналогии с FarGetPluginPanelItem.
   нужный размер можно узнать вызвав ECTL_GETBOOKMARKS/ECTL_GETSESSIONBOOKMARKS.
   в Count возвращается количество букмарк.

--------------------------------------------------------------------------------
zg 2012-09-20 22:32:55+02:00 - build 2814

1. correction of 2807.1.

--------------------------------------------------------------------------------
zg 2012-09-20 21:24:01+02:00 - build 2813

1. FSF.DeleteBuffer is removed.

2. FSF.CopyToClipboard got 1 extra parameter - the type of the block being placed to clipboard. FCT_STREAM - the streaming one. FCT_COLUMN - the vertical one.
   returned value is TRUE in case of success, FALSE otherwise.

3. FSF.PasteFromClipboard writes to Data maximum of Length characters including '\0' from the clipboard. the returned value is the required buffer size.
   if there's no requested content type in the clipboard then the returned value is 0.
   FCT_ANY - return any block.
   FCT_STREAM - return streaming block only.
   FCT_COLUMN - return vertical block only.

4. all native plugins are broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. FSF.DeleteBuffer убрана.

2. FSF.CopyToClipboard добавлен 1 параметр - тип блока, кладущегося в клипбоард. FCT_STREAM - потоковый. FCT_COLUMN - вертикальный.
   в случае удачи возвращает TRUE, иначе FALSE.

3. FSF.PasteFromClipboard записывает в Data максимум Length символов, включая '\0', содержимого клипборда. возвращает нужный размер буфера.
   если содержимого нужного типа нет в клипбоарде - возвращает 0.
   FCT_ANY - вернуть любой блок.
   FCT_STREAM - вернуть только потоковый блок.
   FCT_COLUMN - вернуть только вертикальный блок.

4. все нативные плагины перестали работать.

--------------------------------------------------------------------------------
w17 2012-09-20 16:44:39+04:00 - build 2812

1. size_t in Read/Write

--------------------------------------------------------------------------------
zg 2012-09-20 13:28:23+02:00 - build 2811

1. changes in ProcessPanelEventInfo by Alexey Samlyukov.
   all native plugins are broken.

2. GetVirtualFindDataInfo, FreeVirtualFindDataW and GetVirtualFindDataW are removed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. изменения в ProcessPanelEventInfo от Alexey Samlyukov.
   все нативные плагины перестали работать.

2. убраны GetVirtualFindDataInfo, FreeVirtualFindDataW и GetVirtualFindDataW.

--------------------------------------------------------------------------------
lort 2012-09-19 19:52:41+04:00 - build 2810

1. A new command ACTL_ENABLEREDRAW, Param1=1 - enable FAR window redraw, Param1=0 - disable it.
   Returned value is the previous state, to obtain the current state set Param1=-1

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Добавлена команда ACTL_ENABLEREDRAW, Param1=1 - разрешить перерисовку окна фара, Param1=0 - запретить перерисовку.
   Возвращает предыдущее состояние, для получения текущего состояния Param1=-1

--------------------------------------------------------------------------------
w17 2012-09-19 13:40:39+04:00 - build 2809

1. correction of 2794

--------------------------------------------------------------------------------
zg 2012-09-19 00:47:09+02:00 - build 2808

1. correction of 2807.1.

--------------------------------------------------------------------------------
zg 2012-09-18 22:33:00+02:00 - build 2807

1. 0001699: Ease the use of UserData for storing data by panel plugins
   UserData in PluginPanelItem is a structure.
   UserData is a pointer to anything.
   Callback is a function that removes UserData.
2. As plugin authors do not want UserData contain the plugin handle and demand it be passed via Callback,
   FreePluginDirList got an additional parameter.
   all native plugins are broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0001699: Облегчить использование UserData для хранения данных панельным плагинам
   UserData в PluginPanelItem структура.
   UserData - указатель на что угодно.
   Callback - функция, удаляющая UserData.
2. в связи с тем, что плагинописатели не хотят в UserData хранить хендл плагина и требуют его передачи в Callback,
   в FreePluginDirList добавился соответствующий параметр.
   все нативные плагины перестали работать.

--------------------------------------------------------------------------------
zg 2012-09-17 16:55:00+02:00 - build 2806

1. correction of 2799.

--------------------------------------------------------------------------------
w17 2012-09-17 12:54:32+04:00 - build 2805

1. fix for 2797.1

--------------------------------------------------------------------------------
zg 2012-09-17 03:15:55+02:00 - build 2804

1. DM_GETTEXTLENGTH & DM_GETTEXTPTR are removed.
   some native plugins are broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. DM_GETTEXTLENGTH & DM_GETTEXTPTR удалены.
   некоторые нативные плагины перестали работать.

--------------------------------------------------------------------------------
zg 2012-09-16 20:27:31+02:00 - build 2803

1. API is changed: the type for string lengths and in-string offsets is changed from int to intptr_t.
   all native plugins are broken. also, side effects are possible for x64 FAR.

2. in ViewerSelect type of BlockLen is now __int64.
   all native plugins are broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. в API для длинстрок и смещений внутри строк тип изменен с int на intptr_t.
   все нативные x64 плагины перестали работать. в фаре x64 тоже возможны побочные эффекты.

2. в ViewerSelect тип BlockLen __int64.
   все нативные плагины перестали работать.

--------------------------------------------------------------------------------
zg 2012-09-16 18:29:46+02:00 - build 2802

1. for OPEN_COMMANDLINE, pointer to OpenCommandLineInfo is passed instead of pointer to a string.
   all native plugins are broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. для OPEN_COMMANDLINE вместо указателя на строку передаётся указатель на OpenCommandLineInfo.
   все нативные плагины перестали работать.

--------------------------------------------------------------------------------
zg 2012-09-16 17:12:23+02:00 - build 2801

1. StructSize field is added to the following structures:
   EditorServiceRegion
   EditorSetParameter
   EditorUndoRedo
   EditorGetString
   EditorSetString
   EditorInfo
   EditorBookMarks
   EditorSetPosition
   EditorSelect
   EditorConvertPos
   EditorSaveFile
   all native plugins are broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. поле StructSize добавлено в следующие структуры:
   EditorServiceRegion
   EditorSetParameter
   EditorUndoRedo
   EditorGetString
   EditorSetString
   EditorInfo
   EditorBookMarks
   EditorSetPosition
   EditorSelect
   EditorConvertPos
   EditorSaveFile
   все нативные плагины перестали работать.

--------------------------------------------------------------------------------
zg 2012-09-16 15:48:35+02:00 - build 2800

1. StructSize field is added to the following structures:
   ViewerSetMode
   ViewerSelect
   ViewerSetPosition
   all native plugins are broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. поле StructSize добавлено в следующие структуры:
   ViewerSetMode
   ViewerSelect
   ViewerSetPosition
   все нативные плагины перестали работать.

--------------------------------------------------------------------------------
zg 2012-09-16 14:35:28+02:00 - build 2799

1. StructSize field is added to the following structures:
   FarGetPluginPanelItem
   PanelRedrawInfo
   CmdLineSelect
   ActlEjectMedia
   ActlMediaType
   FarGetValue
   FarSetColors
   ProgressValue
   all native plugins are broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. поле StructSize добавлено в следующие структуры:
   FarGetPluginPanelItem
   PanelRedrawInfo
   CmdLineSelect
   ActlEjectMedia
   ActlMediaType
   FarGetValue
   FarSetColors
   ProgressValue
   все нативные плагины перестали работать.

--------------------------------------------------------------------------------
w17 2012-09-12 01:00:31+04:00 - build 2798

1. Editor [Shift]F8 and KeyBar

--------------------------------------------------------------------------------
w17 2012-09-11 18:33:46+04:00 - build 2797

1. M#868: Text garbled when encoding changed to an "incompatible" one -- [Show] button is added

2. M#1555: When file access denied, the number of hard links is always 1

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#868: Порча текста при смене кодировки на "несовместимую" -- добавлена кнопка [Show]

2. M#1555: Если доступ к файлу запрещен, то количество хардлинков всегда 1

--------------------------------------------------------------------------------
svs 2012-09-07 16:44:59+04:00 - build 2796

1. "FARCONFIGMODE" removed

2. Some help for TI:
     #9  System.CmdHistoryRule
     #27 System.ConsoleDetachKey
     #34 System.QuotedSymbols
     #50 System.QuotedName
     #38 Interface.AltF9
     #61 Dialog.CBoxMaxHeight
     #44 Editor.EditorUndoSize
     #32 Editor.CharCodeBase
     #13 Editor.BSLikeDel
     #18 Editor.EditorF7Rules
     #67 Editor.AllowEmptySpaceAfterEof
     #24 Interface.ShiftsKeyRules

3. Interface.ShowTimeoutDACLFiles and Interface.ShowTimeoutDelFiles are removed

4. Interface.RedrawTimeout is added

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Долой "FARCONFIGMODE"

2. Немного хелпа для TI:
     #9  System.CmdHistoryRule
     #27 System.ConsoleDetachKey
     #34 System.QuotedSymbols
     #50 System.QuotedName
     #38 Interface.AltF9
     #61 Dialog.CBoxMaxHeight
     #44 Editor.EditorUndoSize
     #32 Editor.CharCodeBase
     #13 Editor.BSLikeDel
     #18 Editor.EditorF7Rules
     #67 Editor.AllowEmptySpaceAfterEof
     #24 Interface.ShiftsKeyRules

3. Удалены Interface.ShowTimeoutDACLFiles и Interface.ShowTimeoutDelFiles

4. Добавлена общая Interface.RedrawTimeout

--------------------------------------------------------------------------------
svs 2012-09-07 14:09:44+04:00 - build 2795

1. Some help for TI:
     #75 Panel.ShellRightLeftArrowsRule
     #43 Panel.Layout.ScrollbarMenu
     #14 Panel.CtrlFRule
     #8  Panel.CtrlAltShiftRule
     #6  Panel.RightClickRule
     #79 System.ExcludeCmdHistory
     #45 System.Executor.RestoreCP
     #49 System.Executor.UseAppPath
     #54 System.Executor.ExcludeCmds
     #74 System.Executor.FullTitle
     #78 Interface.FormatNumberSeparators
     #73 System.Executor.BatchType

2. FAR sets FARCONFIGMODE = RO variable while working with configuration bases
   in read-only mode ("/ro" switch is set).
   In normal DB operations mode, the FARCONFIGMODE variable is absent.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Немного хелпа для TI:
     #75 Panel.ShellRightLeftArrowsRule
     #43 Panel.Layout.ScrollbarMenu
     #14 Panel.CtrlFRule
     #8  Panel.CtrlAltShiftRule
     #6  Panel.RightClickRule
     #79 System.ExcludeCmdHistory
     #45 System.Executor.RestoreCP
     #49 System.Executor.UseAppPath
     #54 System.Executor.ExcludeCmds
     #74 System.Executor.FullTitle
     #78 Interface.FormatNumberSeparators
     #73 System.Executor.BatchType

2. ФАР выставляет переменную среды FARCONFIGMODE = RO, если работает с базами конфигурации
   в readonly-режиме (указан параметр ком.строки "/ro").
   В нормальном режиме работы с базами переменная FARCONFIGMODE отсутствует.

--------------------------------------------------------------------------------
w17 2012-09-05 16:19:47+04:00 - build 2794

1. M#2135: typing 'shift + letter' diacritic sequence also outputs the + character
   (from Maximus)

--------------------------------------------------------------------------------
svs 2012-09-04 20:02:31+04:00 - build 2793

1. SQLite 3.7.14

2. Mantis#0002141: $AKey malfunction in macros for MsWheelUp/MsWheelDown

3. Some help for TI:
     #12 Help.ActivateURL
     #47 Confirmations.EscTwiceToInterrupt
     #7  System.AllCtrlAltShiftRule
     #68 System.CASRule

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. SQLite 3.7.14

2. Mantis#0002141: Не работает $AKey в макросах на MsWheelUp/MsWheelDown

3. Немного хелпа для TI:
     #12 Help.ActivateURL
     #47 Confirmations.EscTwiceToInterrupt
     #7  System.AllCtrlAltShiftRule
     #68 System.CASRule

--------------------------------------------------------------------------------
w17 2012-09-04 19:41:42+04:00 - build 2792

1. M#2147 -- UTF7 excluded from FindFile 'AllCodepages'

--------------------------------------------------------------------------------
drkns 2012-08-27 15:26:16+02:00 - build 2791

1. Properties could not be shown in the disk menu in old Windows versions.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не работал вызов свойств из меню дисков в старых версиях Windows.

--------------------------------------------------------------------------------
drkns 2012-08-25 23:22:21+02:00 - build 2790

1. Info panel invocation could cause crash in some cases.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В некоторых случаях открытие информационной панели могло приводить к падению.

--------------------------------------------------------------------------------
w17 2012-08-14 20:17:00+04:00 - build 2789

1. M#0002144: Interface.CtrlPgUp option change was not stored

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#0002144: Не сохраняется изменение переключателя Interface.CtrlPgUp

--------------------------------------------------------------------------------
w17 2012-08-13 13:40:46+04:00 - build 2788

1. continue 2787

--------------------------------------------------------------------------------
w17 2012-08-09 17:32:48+04:00 - build 2787

1. far:config hex int editor

2. far:config BOOLEAN3 (3-state checkbox)

3. far:config help

4. other help corrections and minor code fix

--------------------------------------------------------------------------------
w17 2012-08-08 15:51:16+04:00 - build 2786

1. M#2142: Specify the catalog for separate storage of history/cache and other settings
   UserLocalProfileDir parameter os added to Far.exe.ini, it can also ce specified in command line

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2142: Задавать каталог для хранения настроек раздельно для историй/кэша и остальных настроек
   В Far.exe.ini добавлен параметр UserLocalProfileDir, также его можно задать в комстроке

--------------------------------------------------------------------------------
w17 2012-08-06 08:23:39+04:00 - build 2785

1. correction of 2782

--------------------------------------------------------------------------------
w17 2012-07-31 13:43:58+04:00 - build 2784

1. FileList fix
   Initializing all members, correcting the numbers of selected items on update.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. FileList fix (M#2114)
   Инициализируем всех мемберов, корректируем номера отмеченных элементов при обновлении.

--------------------------------------------------------------------------------
w17 2012-07-30 22:12:25+04:00 - build 2783

1. VMENU_WRAPMODE is used again for DI_LISTBOX
   If the flag is present then wrap-stop, else wrap-none :)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. VMENU_WRAPMODE снова используется для DI_LISTBOX
   Если есть флаг - wrap-stop, иначе wrap-нет:)

--------------------------------------------------------------------------------
w17 2012-07-29 13:54:09+04:00 - build 2782

1. M#2139: inconsistent error message when trying to create a file with same name as existing directory

--------------------------------------------------------------------------------
w17 2012-07-28 22:39:24+04:00 - build 2781

1. 2754 again

--------------------------------------------------------------------------------
w17 2012-07-28 19:35:45+04:00 - build 2780

1. another correction for 2766

--------------------------------------------------------------------------------
w17 2012-07-25 17:59:51+04:00 - build 2779

1. M#2138 Shift-F1 does not work for archiver change

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2138 Не работает Shift-F1 для смены архиватора

--------------------------------------------------------------------------------
w17 2012-07-25 15:52:30+04:00 - build 2778

1. more of 2766 - not all checks were switched off

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. ещё 2766 - не все проверки были отключены

--------------------------------------------------------------------------------
w17 2012-07-25 14:31:47+04:00 - build 2777

1. correction of wrap-stop for 'custom' with DN_GETVALUE.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение wrap-stop для custom с DN_GETVALUE.

--------------------------------------------------------------------------------
w17 2012-07-25 13:20:38+04:00 - build 2776

1. once more, correction of 2754

--------------------------------------------------------------------------------
w17 2012-07-25 12:56:49+04:00 - build 2775

1. continuation of 2766
   VMENU_WRAPMODE is ignored - all lists (custom with DN_GETVALUE too) are in 'wrap-stop' mode.
   if there is no objections, VMENU_WRAPMODE is pending for full removal.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. продолжение 2766
   VMENU_WRAPMODE игнорируется - все списки (custom с DN_GETVALUE тоже) в режиме wrap-stop.
   если возражений не будет - VMENU_WRAPMODE кандидат на полное удаление.

--------------------------------------------------------------------------------
w17 2012-07-25 00:57:48+04:00 - build 2774

1. M#0002137: VCTL_GETINFO returns true even if there's no viewers opened

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#0002137: VCTL_GETINFO возвращает true, даже если нет открытых вьюверов

--------------------------------------------------------------------------------
w17 2012-07-24 12:36:10+04:00 - build 2773

1. keyboard.cpp - removed useless(?) piece of code

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. keyboard.cpp - убран ненужный(?) кусок кода

--------------------------------------------------------------------------------
w17 2012-07-23 13:36:10+04:00 - build 2772

1. Launcher and Opt.Clock

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Запускатель и Opt.Clock

--------------------------------------------------------------------------------
drkns 2012-07-20 13:32:50+02:00 - build 2771

1. Correction in the launcher.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение запускателя.

--------------------------------------------------------------------------------
w17 2012-07-20 01:10:43+04:00 - build 2770

1. correction of 2675

--------------------------------------------------------------------------------
drkns 2012-07-19 23:35:49+02:00 - build 2769

1. If volume free size could not be obtained, show "?" in panel status line instead of "0".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Если не удалось получить размер свободного места на диске - показываем в статусной строке панели "?", а не "0".

--------------------------------------------------------------------------------
zg 2012-07-14 16:42:43+02:00 - build 2768

1. file corruption when copying files of size over 4gb when system copy routine is off.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. при копировании файлов больше 4gb при отключённой функции системного копирования они бились.

--------------------------------------------------------------------------------
w17 2012-07-13 22:29:29+04:00 - build 2767

1. correction of 2766

--------------------------------------------------------------------------------
w17 2012-07-13 18:10:04+04:00 - build 2766

1. M#0001841, behavior changed for VMENU_WRAPMODE.
   On Maximus' proposal -- http://forum.farmanager.com/viewtopic.php?f=3&t=6563&p=85042&hilit=wrap#p88298

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#0001841, изменено поведение для VMENU_WRAPMODE.
   По мотивам предложения Maximus`a -- http://forum.farmanager.com/viewtopic.php?f=3&t=6563&p=85042&hilit=wrap#p88298

--------------------------------------------------------------------------------
w17 2012-07-11 13:18:34+04:00 - build 2765

1. correction of 2754.
   check if something fixed for M#2128 has been broken.

2. correction of 2764.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 2754.
   проверяйте не поломалось ли что то, что правилось для M#2128.

2. уточнение 2764.

--------------------------------------------------------------------------------
w17 2012-07-09 13:32:49+04:00 - build 2764

1. 'plugincache.db' name depends on CPU arch.
   x86: plugincache32.db, x64: plugincache64.db, IA64: plugincacheIA64.db

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. имя plugincache.db меняется в зависимости от архитектуры процессора.
   x86: plugincache32.db, x64: plugincache64.db, IA64: plugincacheIA64.db

--------------------------------------------------------------------------------
w17 2012-07-09 07:59:11+04:00 - build 2763

1. The clock is not working in Far 3 Viewer

--------------------------------------------------------------------------------
w17 2012-07-09 06:50:52+04:00 - build 2762

1. more correction on 2757

--------------------------------------------------------------------------------
w17 2012-07-08 17:22:26+04:00 - build 2761

1. correction of correction of 2757 (10x Denis)

--------------------------------------------------------------------------------
w17 2012-07-08 16:50:44+04:00 - build 2760

1. correction of 2757 (from Shmuel)

--------------------------------------------------------------------------------
drkns 2012-07-05 21:37:04+02:00 - build 2759

1. 0002132: If FAR has started at directory junction, privilege elevation does not work

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002132: При запуске far из directory junction не работает повышение привелегий

--------------------------------------------------------------------------------
w17 2012-07-05 17:33:42+04:00 - build 2758

1. M#2130: Active panel contents disappear when info panel on the other panel is opened.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2130: Пропадает содержимое активной панели при открытой панели информации на другой панели.

--------------------------------------------------------------------------------
w17 2012-07-05 11:43:50+04:00 - build 2757

1. M#2129: After FAR startup, ".." in the root of a network share is missing.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2129: После запуска FAR отсутствует ".." в корне сетевой шары.

--------------------------------------------------------------------------------
w17 2012-07-04 12:16:35+04:00 - build 2756

1. Editor can read and write files with 2-byte encodings (932, 936, ...)
   Thus, there is no need to hide them in dialogs for ShiftF2/ShiftF4.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Редактор может читать и записывать файлы в 2-х байтовых кодировках (932, 936, ...)
   Поэтому незачем прятать их в диалогах для ShiftF2/ShiftF4.

--------------------------------------------------------------------------------
svs 2012-07-03 13:37:10+04:00 - build 2755

1. SQLite 3.7.13

--------------------------------------------------------------------------------
w17 2012-07-03 12:05:08+04:00 - build 2754

1. M#2128: Folders containing more than 128 files at network share cannot be viewed

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2128: Невозможен просмотр папок содержащих больше 128 файлов на сетевой шаре

--------------------------------------------------------------------------------
w17 2012-06-28 17:15:04+04:00 - build 2753

1. continuation of continuation of 2751

--------------------------------------------------------------------------------
w17 2012-06-28 16:02:33+04:00 - build 2752

1. continuation of 2751

--------------------------------------------------------------------------------
w17 2012-06-28 14:21:36+04:00 - build 2751

1. endless loop in editor replace reverse search
   replacement of, say, ';' to ';+' never finished...

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. зацикливание замены в редакторе при обратном поиске
   обратная замена например ';' на ';+' никогда не заканчивалась...

--------------------------------------------------------------------------------
w17 2012-06-27 21:44:29+04:00 - build 2750

1. another correction of 2748 - avoid code duplication

--------------------------------------------------------------------------------
w17 2012-06-27 16:45:39+04:00 - build 2749

1. correction of 2748

--------------------------------------------------------------------------------
w17 2012-06-27 15:43:12+04:00 - build 2748

1. "Use case sensitive sort" is renamed
   Better variants are welcome.

2. M#0821: "Save file position" option also affects the storing of the current encoding
   The encoding may be saved with no position (re)stored, the opposite is inaccessible.

3. M#0011: wrap/wwrap/unwrap saved in history
   Two more options in viewer settings for storing the encoding and word wrapping mode.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Изменено название "Use case sensitive sort"
   Лучшие варианты переименования приветствуются.

2. M#0821: Настройка "Сохранять позицию файла" влияет на запоминание кодировки
   Можно сохранять кодировку и не сохранять (точнее не восстанавливать) позицию, обратное невозможно.

3. M#0011: Сохранение wrar/wwrap/unwrap в истории
   В настройках вьювера 2 новые опции для сохранения кодировки и режима переноса.

--------------------------------------------------------------------------------
drkns 2012-06-24 16:21:55+02:00 - build 2747

1. Correction of 2738.

--------------------------------------------------------------------------------
w17 2012-06-23 21:30:59+04:00 - build 2746

1. M#1632: Correction of click position for codepages and Goto
   ViewMode is clickable

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#1632: Исправление позиции клика для кодовых страниц и Goto
   Добавлен клик на ViewMode

--------------------------------------------------------------------------------
w17 2012-06-22 17:48:01+04:00 - build 2745

1. M#1607: time setting error when copying to own share
   M$ surprise workaround

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#1607: ошибка установки времени при копировании на свою шару
   Обходим сюрприз от M$

--------------------------------------------------------------------------------
w17 2012-06-22 01:38:30+04:00 - build 2744

1. 2471 again - building the sorting table with the use of CompareString standard sorting

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Снова 2471 - строим таблицу сортировки, используя обычное упорядочение CompareString

--------------------------------------------------------------------------------
w17 2012-06-21 15:23:20+04:00 - build 2743

1. another correction of 2741

--------------------------------------------------------------------------------
w17 2012-06-21 15:15:05+04:00 - build 2742

1. correction of 2741

--------------------------------------------------------------------------------
w17 2012-06-21 14:53:36+04:00 - build 2741

1. EXPERIMENTAL. M#1343,2019 Alternative sort mode for 'Use case sensitive sort'
   It is not quite what it was in the old FAR, the more correct name is Uppercase First

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. EXPERIMENTAL. M#1343,2019 Alternative sort mode for 'Use case sensitive sort'
   Это не совсем то, что было в старом фаре, правильнее было бы назвать - Uppercase First

--------------------------------------------------------------------------------
drkns 2012-06-20 20:47:54+02:00 - build 2740

1. Correction of unknown reparse points displaying.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение отображения неизвестных reparse points.

--------------------------------------------------------------------------------
w17 2012-06-20 21:43:35+04:00 - build 2739

1. FileList::Find -- case sensitive/insetsitive compare logic fixed

--------------------------------------------------------------------------------
drkns 2012-06-17 22:01:04+02:00 - build 2738

1. /i key (Set icon for FAR console window) moved to interface settings.
   Also, there is a possibility of setting of separate icon when launched under admin account.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ключ /i (Set icon for FAR console window) перенесён в настройки интерфейса.
   Там же - возможность устанавливать отдельный значок при запуске от имени администратора.

--------------------------------------------------------------------------------
drkns 2012-06-17 18:36:59+02:00 - build 2737

1. Search malfunction in ADS.

--------------------------------------------------------------------------------
drkns 2012-06-17 13:10:15+02:00 - build 2736

1. Crash at start if access to start directory is denied.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Падение при запуске при отсутствии доступа к стартовому каталогу.

--------------------------------------------------------------------------------
drkns 2012-06-16 16:03:01+02:00 - build 2735

1. Panel.CtrlFRule (TI#14) is off by default.

--------------------------------------------------------------------------------
drkns 2012-06-16 01:36:09+02:00 - build 2734

1. Correction of 2733.

--------------------------------------------------------------------------------
drkns 2012-06-15 23:09:58+02:00 - build 2733

1. elevation: OpenVirtualDisk support and some makeup.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. elevation: поддержка OpenVirtualDisk и косметические изменения.

--------------------------------------------------------------------------------
w17 2012-06-15 15:30:17+04:00 - build 2732

1. EXPERIMENTAL. M#2103: This version of %1 is not compatible with the version of Windows you're running

--------------------------------------------------------------------------------
svs 2012-06-14 12:58:15+04:00 - build 2731

1. Mantis#0002068: Bug displaying panels size after a command (for example "pause")

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002068: Глюк с размером панелей после выполнения команды (например "pause")

--------------------------------------------------------------------------------
drkns 2012-06-13 09:15:54+02:00 - build 2730

1. cppcheck warnings.

2. In 2724, displaying of speed of copying to nul was broken.

3. Using more common [u]intptr_t instead of <INT|LONG|DWORD>_PTR.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. cppcheck warnings.

2. В 2724 отвалилось отображение скорости при копировании в nul.

3. Используем более стандартные [u]intptr_t вместо <INT|LONG|DWORD>_PTR.

--------------------------------------------------------------------------------
drkns 2012-06-11 16:18:00+02:00 - build 2729

1. With "auto save setup", highlighting groups were stored incorrectly.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При "auto save setup" некорректно сохранялись группы раскраски.

--------------------------------------------------------------------------------
drkns 2012-06-09 19:34:06+02:00 - build 2728

1. Endless search for all matches of /^$/m regex

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Зацикливался поиск всех вхождений регулярного выражения /^$/m

--------------------------------------------------------------------------------
zg 2012-06-09 18:44:36+02:00 - build 2727

1. 0002125: Errors with highlighting in editor

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002125: Ошибки с раскраской в редакторе

--------------------------------------------------------------------------------
drkns 2012-06-09 14:02:57+02:00 - build 2726

1. Minor fixes in elevation and copier.

2. DialogBuilder did not support negative numbers input.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Косметические правки в elevation и копире.

2. DialogBuilder не поддерживал ввод отрицательных чисел.

--------------------------------------------------------------------------------
drkns 2012-06-08 15:36:03+02:00 - build 2725

1. Third state of checkboxes was not stored in settings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В настройках не сохранялось третье состояние чекбоксов.

--------------------------------------------------------------------------------
w17 2012-06-08 09:51:35+04:00 - build 2724

1. M#1666: information about copying multiple files
	If [ ] show total size and [x] show time then current file copying speed is shown

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#1666: информация о копирование нескольких файлов
	Если [ ] show total size и [x] show time, показываем скорость копирования текущего файла

--------------------------------------------------------------------------------
w17 2012-06-07 13:35:13+04:00 - build 2723

1. M#2124: /$/m regex "non-standard" behavior

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2124: Регекс /$/m работает "нестандартно"

--------------------------------------------------------------------------------
w17 2012-06-05 21:27:50+04:00 - build 2722

1. M#0000228: Save "delete file on close" flag in viewer/editor after F6

2. FileViewer(__int64 ViewerStartPos)

3. help invoked with far /ro [/rw]

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#0000228: Чтобы по F6 в редакторе/ просмотрщике сохранялся флаг "удалить файл по закрытии"

2. FileViewer(__int64 ViewerStartPos)

3. help по far /ro [/rw]

--------------------------------------------------------------------------------
svs 2012-06-04 16:21:07+04:00 - build 2721

1. A typo for Debug

2. SQLite 3.7.12.1

--------------------------------------------------------------------------------
drkns 2012-06-02 14:54:41+02:00 - build 2720

1. Completion with CtrlSpace did not work.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не работал вызов дополнения по CtrlSpace.

--------------------------------------------------------------------------------
drkns 2012-06-02 00:32:29+02:00 - build 2719

1. More on %pathext% + a couple of issues.

--------------------------------------------------------------------------------
drkns 2012-06-01 14:56:00+02:00 - build 2718

1. Correction of privileges check.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение проверки привилегий.

--------------------------------------------------------------------------------
drkns 2012-06-01 14:15:50+02:00 - build 2717

1. F4 and CtrlH processing is added to far:config.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В far:config добавлена обработка F4 и CtrlH.

--------------------------------------------------------------------------------
drkns 2012-06-01 13:05:50+02:00 - build 2716

1. %pathext% variable was not expanded in mask groups.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В группах масок не разворачивалась переменная %pathext%.

--------------------------------------------------------------------------------
drkns 2012-06-01 08:05:48+02:00 - build 2715

1. Forgotten debug code in 2702 :)

--------------------------------------------------------------------------------
drkns 2012-06-01 00:09:33+02:00 - build 2714

1. Continuation of 2707.

--------------------------------------------------------------------------------
drkns 2012-05-31 08:18:28+02:00 - build 2713

1. gcc build, a better way does exist.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. gcc build, способ есть.

--------------------------------------------------------------------------------
w17 2012-05-31 01:08:59+04:00 - build 2712

1. gcc build (a better way may exist ?)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. gcc build (возможно есть способ лучше ?)

--------------------------------------------------------------------------------
drkns 2012-05-30 20:57:08+02:00 - build 2711

1. Correction of 2131.2.

--------------------------------------------------------------------------------
drkns 2012-05-30 19:27:12+02:00 - build 2710

1. A typo in 2707.

--------------------------------------------------------------------------------
w17 2012-05-30 20:16:33+04:00 - build 2709

1. 1108: Wher Wipe (Alt-del) is used on a folder, the operation (and whole FAR) freezes
   far3 does not, but the problem can be reproduced partially.

2. viewer's minimal changes after 2707

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 1108: При использовании Wipe (Alt-del) на папке, операция (и весь фар) зависает
   В far3 зависания нет, но частично проблема воспроизводилась.

2. минимальные правки вьювера после 2707

--------------------------------------------------------------------------------
drkns 2012-05-30 18:20:05+02:00 - build 2708

1. Correction of 2707.1.

--------------------------------------------------------------------------------
drkns 2012-05-30 14:35:00+02:00 - build 2707

1. Configuration is reworked.
   - generalconfig.db is written only changes now.
   - far:config has got bool instead of int where it is needed.
   - the default key for console detach is now CtrlShiftTab.

2. Macro: PanelItem is removed, use Panel.Item.

3. printf elimination is continuing.

4. "/w-" key is added - "window mode" forced switching off.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Перетрях конфига.
   - в generalconfig.db теперь пишется только то, что изменилось.
   - в far:config теперь bool вместо int везде, где надо.
   - дефолтное кнопкосочетание для детача консоли теперь CtrlShiftTab.

2. Macro: PanelItem удален, используйте Panel.Item.

3. Продолжаем давить printf.

4. Добавлен ключ "/w-" - принудительное отключение "window mode".

--------------------------------------------------------------------------------
w17 2012-05-30 05:51:52+04:00 - build 2706

1. 2122: Incorrect comparison of catalogs from menu item Commands - Compare Folders

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 2122: Некорректо сравниваются каталоги из пункта меню Commands - Compare Folders

--------------------------------------------------------------------------------
w17 2012-05-29 13:30:08+04:00 - build 2705

1. 2115: Unable to view files found with a search in temporary panel

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 2115: Не работает просмотр файлов, найденный поиском на временной панели

--------------------------------------------------------------------------------
drkns 2012-05-25 08:35:25+02:00 - build 2704

1. Correction of 2702.2.

--------------------------------------------------------------------------------
drkns 2012-05-25 00:34:44+02:00 - build 2703

1. Correction of 2702.1.

--------------------------------------------------------------------------------
drkns 2012-05-25 00:06:38+02:00 - build 2702

1. 0002113: Viewer does not switch between files in search result list

2. 0002116: A message pops up when volume selection dialog is invoked.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002113: Вьювер не переключается между файлами в списке результатов поиска

2. 0002116: Выскакивает сообщение при вызове диалога выбора диска.

--------------------------------------------------------------------------------
drkns 2012-05-24 20:38:20+02:00 - build 2701

1. In some cases, file panel refresh could crash FAR.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В некоторых случаях обновление файловой панели могло приводить к падению.

--------------------------------------------------------------------------------
drkns 2012-05-24 10:59:24+02:00 - build 2700

1. 0002112: Command line autocompletion does not work after commands history dialog use

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002112: Отваливается автодополнение в ком. строке после использования диалога истории команд

--------------------------------------------------------------------------------
w17 2012-05-23 09:54:59+04:00 - build 2699

1. Fix for 2679.1

--------------------------------------------------------------------------------
w17 2012-05-23 05:08:42+04:00 - build 2698

1. Correction of 2676.1

--------------------------------------------------------------------------------
drkns 2012-05-21 23:06:13+02:00 - build 2697

1. Some reduction of ImportedFunctions code.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Немного сокращения кода в ImportedFunctions.

--------------------------------------------------------------------------------
w17 2012-05-21 13:19:37+04:00 - build 2696

1. 2679.4 - after Esc, the scan results are shown without a delay

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 2679.1 - после Esc то что отсканировано показываем без задержки

--------------------------------------------------------------------------------
drkns 2012-05-21 10:12:45+02:00 - build 2695

1. Correction of 2601.

--------------------------------------------------------------------------------
w17 2012-05-20 12:08:44+04:00 - build 2694

1. 2107: Crash while copying

--------------------------------------------------------------------------------
drkns 2012-05-19 23:08:50+02:00 - build 2693

1. Continuation of 2690.

--------------------------------------------------------------------------------
drkns 2012-05-18 16:02:47+02:00 - build 2692

1. Continuation of 2689.

--------------------------------------------------------------------------------
drkns 2012-05-18 15:24:56+02:00 - build 2691

1. Continuation of 2690.

--------------------------------------------------------------------------------
drkns 2012-05-18 14:21:09+02:00 - build 2690

1. Completion can be fine-tuned via far:config.
   Interface.Completion.Use???? options, 1 - use always, 2 - with manual call only.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Дополнение можно более тонко настроить через far:config.
   Опции Interface.Completion.Use????, 1 - использовать всегда, 2 - только при вызове вручную.

--------------------------------------------------------------------------------
drkns 2012-05-18 13:48:24+02:00 - build 2689

1. Transition to paths like cd \\?\GLOBALROOT\Device\Harddisk0\Partition1, \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy3 etc. did not work

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не работал переход в пути вида cd \\?\GLOBALROOT\Device\Harddisk0\Partition1, \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy3 и т.п.

--------------------------------------------------------------------------------
drkns 2012-05-18 13:32:43+02:00 - build 2688

1. History settings are accessible via far:config.

2. Correction of 2683.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Настройки историй доступны через far:config.

2. Уточнение 2683.

--------------------------------------------------------------------------------
w17 2012-05-18 12:50:35+04:00 - build 2687

1. 2679.3 - after interrupting with Esc, the result of incomplete directory scanning is shown anyway

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 2679.1 - после прерывания по Esc тоже показываем результат неполного сканирования каталога

--------------------------------------------------------------------------------
drkns 2012-05-18 09:49:36+02:00 - build 2686

1. Continuation of #0002102: ULF_UNIQUE without ULF_SORT could lead to incorrect order of items.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение #0002102: ULF_UNIQUE без ULF_SORT мог приводить к неадекватному порядку элементов.

--------------------------------------------------------------------------------
svs 2012-05-18 10:39:11+04:00 - build 2685

1. Mantis#0001491: CtrlStartPosChar does not work with the first line (caption does not count)
   NearTopicFound was not reset to 0 in the line next to fixed area.

2. SQLite 3.7.12

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001491: CtrlStartPosChar не работает на первой строке (без учёта заголовка)
   NearTopicFound не сбрасывался в 0 в следующей строке после фиксированной области.

2. SQLite 3.7.12

--------------------------------------------------------------------------------
drkns 2012-05-17 20:42:33+02:00 - build 2684

1. Correction of 2683.

--------------------------------------------------------------------------------
drkns 2012-05-17 20:18:36+02:00 - build 2683

1. UserDefinedList refactored. Now there is an unlimited number of separators, consecutive delimiters are not an error.
   Also 0002102: Path environment variable not processed correctly isf it contains empty strings between semicolons

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг UserDefinedList. Теперь разделителей может быть сколько угодно, идущие подряд разделители ошибкой не считаются.
   Сюда же 0002102: Path environment variable not processed correctly isf it contains empty strings between semicolons

--------------------------------------------------------------------------------
w17 2012-05-17 13:38:16+04:00 - build 2682

1. 2679.2 - WIN key does not interrupt directory scan

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 2679.1 - кнопка WIN не прерывает сканирование каталога

--------------------------------------------------------------------------------
w17 2012-05-17 13:12:53+04:00 - build 2681

1. 2679.1 - tilde

--------------------------------------------------------------------------------
drkns 2012-05-16 21:45:11+02:00 - build 2680

1. Do not switch the autocompletion on while messages remain in console message queue.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не включаем дополнение, пока в очереди консоли присутствуют события.

--------------------------------------------------------------------------------
w17 2012-05-16 13:58:29+04:00 - build 2679

1. M#2101: "quick search" may be cancelled with any key
   Color indication whether directory scan was aborted

2. 2676 - 'far /rw'

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2101: "быстрый просмотр" отменяется любой кнопкой
   Если сканирование каталога не завершено - меняем цвет

2. 2676 - 'far /rw'

--------------------------------------------------------------------------------
w17 2012-05-16 11:37:29+04:00 - build 2678

1. correction of 2676

--------------------------------------------------------------------------------
svs 2012-05-16 10:04:17+04:00 - build 2677

1. Mantis#0002096: Navigation on text in search results menu
   (from DAtaMan)

   - if "Select found" is on then the search results are selected after Enter is pressed :)
   - Ctrl-Enter sets the cursor on the found text and selects it if "Select found" is on
   - F5 switches the menu size
   - Ctrl-Up/Down scrolls the editor text
   - Add sets the stacked bookmark
   - RCtrl-(0-9) - set the bookmark 0..9 in the current position, LCtrl-(0-9) - go to bookmark 0-9

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002096: Навигация по тексту в меню результатов поиска
   (from DAtaMan)

   - если включено "Выделять найденное", то после нажатия Enter найденное выделяется :)
   - Ctrl-Enter позиционирует курсор на найденный текст и выделяет его, если включено "Выделять найденное"
   - нажатие F5 переключает размер меню
   - Ctrl-Up/Down скроллирует текст редактора
   - Add - устанавливает стековую закладку
   - RCtrl-(0-9) - установить закладку 0..9 в текущей позиции, LCtrl-(0-9) - перейти к позиции закладки 0-9

--------------------------------------------------------------------------------
w17 2012-05-15 19:31:43+04:00 - build 2676

1. M#2100: Problems with FAR 3 start from write protected volumes
   work with configuration databases unchanged.
   'far -ro' or 'ReadOnlyConfig=1' in far.exe.ini, no autodetection

2. gcc -warning

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2100: Проблемы с запуском FAR 3 с защищённого от записи носителя
   работа без изменения конфигурационных баз.
   'far -ro' или 'ReadOnlyConfig=1' в far.exe.ini, автоопределения нет

2. gcc -warning

--------------------------------------------------------------------------------
w17 2012-05-14 14:17:56+04:00 - build 2675

1. 2673 continuation...
   identification of FAT, an option for disabling the panel catalog monitoring feature on focus lose

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 2673 продолжение...
   Опознавание FAT, опция для фичи отключения мониторинга каталога панелей при потере фокуса ввода.

--------------------------------------------------------------------------------
svs 2012-05-14 13:54:16+04:00 - build 2674

1. Correction of build 2672
   API: add MPEC_BREAK_OTL

2. Mantis#0002059: Macro functions for accessing editor lines by their index
   For Editor.SetStr(), cursor positioning functionality is removed. Appropriate functions are intended for this

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение build 2672
   API: add MPEC_BREAK_OTL

2. Mantis#0002059: Макрофункции для обращения к строкам редактора по индексу
   Для Editor.SetStr() удален функционал позиционирования курсора. Для этого есть соответствующие функции.

--------------------------------------------------------------------------------
w17 2012-05-12 19:24:42+04:00 - build 2673

1. M#2098: File created by an external program did not appear in the active panel

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2098: Файл, созданный внеш. прогр-мой, не появл-ся в актив. панели

--------------------------------------------------------------------------------
svs 2012-05-12 14:00:53+04:00 - build 2672

1. Macro: "$break" operator is added - $rep and $while loops termination.

2. Correction of TVar::operator--() and TVar::operator++()

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: добавлен оператор "$break" - завершение циклов $rep и $while.

2. Уточнение TVar::operator--() и TVar::operator++()

--------------------------------------------------------------------------------
svs 2012-05-11 11:53:32+04:00 - build 2671

1. Mantis#0001891: Right-aligned extesions
   (from samlyukov)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001891: Выравнивание расширения по правому краю
   (from samlyukov)

--------------------------------------------------------------------------------
svs 2012-05-11 11:34:27+04:00 - build 2670

1. Mantis#0002097: VF_ENABLE_F6 does not work
   (from Denis)
   Viewer.SetEnableF6() call took place later than planned.

2. Mantis#0001736: akey(1,0)==akey(1,1) Far 3.0.1931 far2.0.1807
   "rat race".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002097: Не работает VF_ENABLE_F6
   (from Denis)
   Вызов Viewer.SetEnableF6() был позже, чем надо.

2. Mantis#0001736: akey(1,0)==akey(1,1) Far 3.0.1931 far2.0.1807
   "мышыныя возня".

--------------------------------------------------------------------------------
svs 2012-05-10 20:55:52+04:00 - build 2669

1. Adding isNumber() to TVar - is it a number? (Integer/Real/StrNumber)

2. Mantis#0002059: Macro functions for accessing editor lines by their index
   Now Line may be a "number" (Integer/Real/StrNumber), not only integer.
   Cast:
     Integer       -> Integer
     Real          -> Integer
     StrNumber     -> Integer
     Not StrNumber -> error (editor.[get|set|ins|del]str do not work)

   Also, if S was not specified it was equal to "0".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В TVar добавим isNumber() - число? (Integer/Real/StrNumber)

2. Mantis#0002059: Макрофункции для обращения к строкам редактора по индексу
   Теперь параметр Line может быть "числом" (Integer/Real/StrNumber), а не только Целым.
   Преобразования:
     Integer       -> Integer
     Real          -> Integer
     StrNumber     -> Integer
     Not StrNumber -> error (editor.[get|set|ins|del]str не сработают)

   Так же - если строка S не была указана, то она принимала значение "0".

--------------------------------------------------------------------------------
drkns 2012-05-10 16:16:31+02:00 - build 2668

1. And once more.

--------------------------------------------------------------------------------
drkns 2012-05-10 16:12:43+02:00 - build 2667

1. Correction of 2666.1.

--------------------------------------------------------------------------------
drkns 2012-05-10 15:26:08+02:00 - build 2666

1. Autocompletion issues:
   - affected elements match the condition %path%\<something>.%pathext% or mentioned in App Paths (DIF_EDITPATHEXEC/FIB_EDITPATHEXEC in api);
   - manual call moved from CtrlShiftEnd to CtrlSpace;
   - mode "without menu" is redone, now the sequential scan is used.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Всякое на тему автодополнения:
   - дополняются элементы, подходящие под условие %path%\<something>.%pathext% или упомянутые в App Paths (DIF_EDITPATHEXEC/FIB_EDITPATHEXEC в api);
   - ручной вызов переехал с CtrlShiftEnd на CtrlSpace;
   - переделан режим "без меню", теперь там работает последовательный перебор.

--------------------------------------------------------------------------------
w17 2012-05-10 16:09:01+04:00 - build 2665

1. FAR crash after ShiftDel in cmdline autocompletion menu on file items

2. Don't show disabled UTF-7 line in encoding selection menu in viewer and editor

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Фар падал при нажатии ShiftDel в меню автодополнения cmdline На файловых элементах

2. Не показываем задизэйбленую строку UTF-7 в меню выбора кодировки вьювера и редактора

--------------------------------------------------------------------------------
svs 2012-05-10 15:06:25+04:00 - build 2664

1. Mantis#0002059: Macro functions for accessing editor lines by their index
   (from DAtaMan)

    - Editor.GetStr works even if the editor is locked
    + after Editor.SetStr the cursor position is unchanged

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002059: Макрофункции для обращения к строкам редактора по индексу
   (from DAtaMan)

    - Editor.GetStr работает и при залоченном редакторе
    + после Editor.SetStr позиция курсора не меняется

--------------------------------------------------------------------------------
svs 2012-05-10 12:06:11+04:00 - build 2663

1. Mantis#0002059: Macro functions for accessing editor lines by their index
   (from DAtaMan)

   1. Editor::GetStringByNumber minor optimization

   2. Added macro commands:

     N=Editor.DelLine([Line])
     S=Editor.GetStr([Line])
     N=Editor.InsStr([S[,Line]])
     N=Editor.SetStr([S[,Line]])

     when Line is not given, the functions process the current line.

   A text macro - empty lines removal:

     $If(Selected)
       %StartLine=Editor.Sel(0, 0);
       %EndLine=Editor.Sel(0, 2);
     $Else
       %StartLine=1;
       %EndLine=Editor.Lines;
     $End

     %Count=%EndLine-%StartLine+1;
     %i=%StartLine;
     Editor.Undo(0);
     $Rep(%Count)
       $If(Len(Trim(Editor.GetStr(%i)))==0)
         Editor.DelLine(%i);
       $Else
         %i=%i+1;
       $End
     $End
     Editor.Undo(1);

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002059: Макрофункции для обращения к строкам редактора по индексу
   (from DAtaMan)

   1. Небольшая оптимизация Editor::GetStringByNumber

   2. Добавлены макрокоманды:

     N=Editor.DelLine([Line])
     S=Editor.GetStr([Line])
     N=Editor.InsStr([S[,Line]])
     N=Editor.SetStr([S[,Line]])

     если Line не задана, то функции работают с текущей строкой.

   Тестовый макрос - удаление пустых строк:

     $If(Selected)
       %StartLine=Editor.Sel(0, 0);
       %EndLine=Editor.Sel(0, 2);
     $Else
       %StartLine=1;
       %EndLine=Editor.Lines;
     $End

     %Count=%EndLine-%StartLine+1;
     %i=%StartLine;
     Editor.Undo(0);
     $Rep(%Count)
       $If(Len(Trim(Editor.GetStr(%i)))==0)
         Editor.DelLine(%i);
       $Else
         %i=%i+1;
       $End
     $End
     Editor.Undo(1);

--------------------------------------------------------------------------------
svs 2012-05-05 16:18:15+04:00 - build 2662

1. Mantis#0002095: Crash on history-guided transition to a plugin
   (from Maximus)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002095: Падение при переходе по истории в плагин
   (from Maximus)

--------------------------------------------------------------------------------
svs 2012-05-04 23:11:07+04:00 - build 2661

1. Correction of 2660

--------------------------------------------------------------------------------
svs 2012-05-04 12:55:16+04:00 - build 2660

1. Mantis#0001879: FAR ignores the absence of EOL specified by a plugin
   (from Maximus)
   ANSI plugins...

2. Mantis#0002094: Duplication of Enter on Eval call (from a macro)
   Highly experimental.
   It needs checking.
   incl. callplugin etc...

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001879: Фар игнорирует заданное плагином отсутствие EOL
   (from Maximus)
   ANSI плагины...

2. Mantis#0002094: Задваение Enter при вызове Eval (из макроса)
   Крайне экспериментально.
   Проверять надо.
   В т.ч. callplugin и еже с ним...

--------------------------------------------------------------------------------
drkns 2012-05-04 11:11:26+02:00 - build 2659

1. SetErrorMode was set later than necessary.

2. A couple of minor issues.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. SetErrorMode ставился позже, чем надо.

2. Пара мелочей.

--------------------------------------------------------------------------------
svs 2012-05-03 15:03:42+04:00 - build 2658

1. Mantis#0001879: FAR ignores the absence of EOL specified by a plugin
   (from Maximus)
   without DropModified.diff

2. Some help for editor option "Show white space"

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001879: Фар игнорирует заданное плагином отсутствие EOL
   (from Maximus)
   без DropModified.diff

2. Немног хелпа для редакторной опции "Show white space"

--------------------------------------------------------------------------------
svs 2012-05-03 10:04:23+04:00 - build 2657

1. Mantis#0001743: History switch off capability
   Correction of build 2338.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001743: Возможность отключения истории
   Уточнение build 2338.

--------------------------------------------------------------------------------
drkns 2012-05-02 21:30:43+02:00 - build 2656

1. Monitoring changes in folders opened in panels only if FAR has a focus.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Мониторим изменения в открытых на панелях папках только тогда, когда far в фокусе.

--------------------------------------------------------------------------------
drkns 2012-05-02 18:23:04+02:00 - build 2655

1. Continuation of 2655 - "Use Ctrl-PgUp to change drive" switch now has 3 positions.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 2655 - переключатель "Использовать Ctrl-PgUp для выбора диска" теперь 3-позиционный.

--------------------------------------------------------------------------------
drkns 2012-05-02 18:01:04+02:00 - build 2654

1. 0002093: Ctrl-PgUp shows volumes list only

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002093: Ctrl-PgUp дает только список дисков

--------------------------------------------------------------------------------
svs 2012-05-02 10:25:17+04:00 - build 2653

1. Mantis#0002089: Crash on plugins menu call attempt in the macro editing dialog.

   endless loop in dialog.cpp#2782 at:
   return FrameManager->ProcessKey(Key);

   0. FrameManager->ProcessKey(KEY_F11); ==>
   1. Dialog::ProcessKey(KEY_F11) ==>
   2. Manager::ProcessKey(KEY_F11); here goes "if (!IsProcessAssignMacroKey)" and the whole block is skipped ==> CurrentFrame->ProcessKey(KEY_F11);
   4. goto 1

   There's no need for plugins in macro parameters changing dialog.
   But if you wish them here, then:
   1) Roll this patch back (remove "if (!IsProcessAssignMacroKey)" in Dialog::ProcessKey in processing of F11)
   2) in Manager::ProcessKey, move processing of KEY_F11 before "if (!IsProcessAssignMacroKey)"

   But then, IMHO, we'll get the "loop" again if processing of KEY_F11 in Manager::ProcessKey will be "closed" come day (see changelog for build 1360)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002089: Падение при попытке вызвать меню плагинов в диалоге редактирования макроса.

   зацикливается в dialog.cpp#2782 при вызове
   return FrameManager->ProcessKey(Key);

   0. FrameManager->ProcessKey(KEY_F11); ==>
   1. Dialog::ProcessKey(KEY_F11) ==>
   2. Manager::ProcessKey(KEY_F11); здесь срабатывает "if (!IsProcessAssignMacroKey)" и весь блок пропускается ==> CurrentFrame->ProcessKey(KEY_F11);
   4. goto 1

   В диалоге изменения параметров макроса нефиг плагинам делать.
   Если "ай как нада", то
   1) Откатить этот патч (удалить "if (!IsProcessAssignMacroKey)" в Dialog::ProcessKey в обработке F11)
   2) в Manager::ProcessKey обработку KEY_F11 вынести перед "if (!IsProcessAssignMacroKey)"

   Но, IMHO, опять получим "цикл", если потом "закроется" обработка KEY_F11 в Manager::ProcessKey ("В диалогах по F11 могло вызываться панельное меню плагинов")

--------------------------------------------------------------------------------
drkns 2012-04-29 16:19:25+02:00 - build 2652

1. 0002090: FAR crash at DIF_USELASTHISTORY

--------------------------------------------------------------------------------
w17 2012-04-29 12:30:17+04:00 - build 2651

1. M#2091: Home button does not work in menu (M#2083)
   (from Maximus)

2. minimal 2605 correction

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2091: В меню не работает кнопка Home (M#2083)
   (from Maximus)

2. minimal 2605 correction

--------------------------------------------------------------------------------
zg 2012-04-28 21:02:12+02:00 - build 2650

1. Problems with history while working with several FAR instances.

2. gcc warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Проблемы с историей при работе в нескольких копиях фара.

2. gcc warnings.

--------------------------------------------------------------------------------
svs 2012-04-28 09:46:51+04:00 - build 2649

1. "far:config" check is now case independent.

2. Mantis#0001810: elevation request in Info panel ignores the configuration
   See the "Show CD drive parameters" option in "InfoPanel settings" dialog.
   It is on by default.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Проверка на "far:config" теперь регистронезависимая.

2. Mantis#0001810: Запрос elevation в Info-панели игнорирует настройку
   См. опцию "Показывать параметры компакт-дисков" в диалоге "Настройка информационной панели".
   По умолчанию включена.

--------------------------------------------------------------------------------
svs 2012-04-27 18:06:47+04:00 - build 2648

1. Mantis#0001876: The name of the edited/viewed file in the beginning of the window caption

   In Far:Config (so far), "Interface" and TEXT parameters "EditorTitleFormat" and "ViewerTitleFormat" are searched.
   The default format is: "%Lng %File".
   Here go the templates: "%File" - the file name, "%Lng" - a line from the lng file ("edit" or "view")
   Don't forget that there's the "TitleAddons" template appended to the caption.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001876: Имя редактируемого/просматриваемого файла - в начале заголовка окна

   В Far:Config (пока) ищем "Interface" и TEXT-параметры "EditorTitleFormat" и "ViewerTitleFormat".
   По умолчанию формат: "%Lng %File".
   Здесь шаблонные символы "%File" - имя файла, "%Lng" - строка из lng-файла ("edit" или "view")
   Не забываем так же о том, что есть шаблон "TitleAddons", который добавляется в конец заголовка.

--------------------------------------------------------------------------------
drkns 2012-04-27 13:46:30+02:00 - build 2647

1. Correction of 2646.1.

--------------------------------------------------------------------------------
drkns 2012-04-26 20:35:56+02:00 - build 2646

1. Misc on far:config.

--------------------------------------------------------------------------------
t-rex 2012-04-26 19:44:06+02:00 - build 2645

1. far:config showed System.BoxSymbols with garbage.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. System.BoxSymbols показывалось с мусором в far:config.

--------------------------------------------------------------------------------
svs 2012-04-26 17:50:01+04:00 - build 2644

1. Mantis#0001620: Full names in the keybar
   "To play around".
   "Stem|suffix1|suffix2|suffix3" variant is implemented.
   It depends on available length (for optimal fill).

   Consider "Bearb|eit|eiten". Depending on the width of the label one of 3 variants is chosen:
   "Bearb"         = "Bearb"
   "Bearb" + "eit" = "Bearbeit"
   "Bearb"+"eiten" = "Bearbeiten"
   i.e. the stem remains anyway.

   The memory for the label is dynamically allocated (there is no 16 characters limit).

   Before you rush for editing farlang.templ.m4 in order to adjust the labels for this kind of behavior,
   here's how you can practice:

   <?xml version="1.0" encoding="UTF-8" ?>
   <farconfig>
       <generalconfig>
           <setting key="KeyBarLabels.English.Shell" name="AltF4" type="text" value="Edit|..|Ext| Extern| External" />
           <setting key="KeyBarLabels.English.Shell" name="F4" type="text" value="Edit| File" />
       </generalconfig>
   </farconfig>

2. A help topic on volume selection configuration dialog is added.

3. Mantis#0002013: "cd ~" behavior

   "cd ~" is legalized - now it can be configured in command line configuration dialog.
   It if on by default and points to %FARHOME%.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001620: Полные названия в линейке клавиш
   "Напощупать".
   Реализован вариант "Основа|окончание1|окончание2|окончание3".
   Формируется в зависимости от длины (чтобы максимально поместилось).

   Имеем "Просм|отр|отреть". В зависимости от ширины знакоместа под лейбак получаем один из 3-х вариантов:
   "Просм"          = "Просм"
   "Просм" + "отр"  = "Просмотр"
   "Просм"+"отреть" = "Просмотреть"
   т.е. первая часть будет по любому.

   Память под конкретную метку выделяется динамически (нет ограничения на 16 символов).

   Прежде чем кидаться лопатить farlang.templ.m4, подстаривая лейбаки для подобного поведения,
   имеет смысл "потренироваться на кошках":

   <?xml version="1.0" encoding="UTF-8" ?>
   <farconfig>
       <generalconfig>
           <setting key="KeyBarLabels.English.Shell" name="AltF4" type="text" value="Edit|..|Ext| Extern| External" />
           <setting key="KeyBarLabels.English.Shell" name="F4" type="text" value="Edit| File" />
       </generalconfig>
   </farconfig>

2. Добавлена тема помощи для диалога настройки меню выбора диска.

3. Mantis#0002013: Поведение "cd ~"

   Узаконена "cd ~" - теперь настраиваема в диалоге настройки ком.строки.
   По молчанию включена и нацелена на %FARHOME%.

--------------------------------------------------------------------------------
w17 2012-04-26 17:39:15+04:00 - build 2643

1. Viewer CRCRLF (as in the editor)

2. continuation of 2605

--------------------------------------------------------------------------------
drkns 2012-04-26 00:34:11+02:00 - build 2642

1. And once more.

--------------------------------------------------------------------------------
drkns 2012-04-26 00:10:19+02:00 - build 2641

1. Correction of 2640.1.

--------------------------------------------------------------------------------
drkns 2012-04-25 20:34:13+02:00 - build 2640

1. "To play around" - far:config in command line shows an internal browser-style configuration editor.
   Keep in mind that many of the settings require restart.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. "На поиграться" - far:config в комстроке покажет встроенный редактор конфигурации в стиле браузерных.
   Следует осознавать, что многие настройки применятся только после перезапуска.

--------------------------------------------------------------------------------
svs 2012-04-25 18:33:36+04:00 - build 2639

1. Correction of build 2626 on returning info about a macro.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение build 2626 в части возвращения инфы о макросе.

--------------------------------------------------------------------------------
zg 2012-04-25 15:13:51+02:00 - build 2638

1. a fix of gcc build with the use of winapi from mingw.org.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. исправление gcc сборки при использовании winapi от mingw.org.

--------------------------------------------------------------------------------
w17 2012-04-25 15:46:58+04:00 - build 2637

1. M#2087: Incorrect Esc processing in copy error dialog
   (from Maximus)

2. Removing a 'secret' key Help.FollowMouse

3. changelog -typos

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2087: Некорректная обработка Esc в диалоге ошибки копирования
   (from Maximus)

2. Убираем 'секретный' ключ Help.FollowMouse

3. changelog -typos

--------------------------------------------------------------------------------
svs 2012-04-25 11:57:18+04:00 - build 2636

1. Mantis#0000651: No link creation item in FAR menu

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000651: В меню фара отсутствует пункт создания связей на папки и файлы

--------------------------------------------------------------------------------
w17 2012-04-25 00:12:34+04:00 - build 2635

1. CtrlPgUp did not work in plugin panels if the Interface.CtrlPgUp option was off
   and the current directory in the file panel, which the plugin panel had been opened from, was the volume root.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. CtrlPgUp не работал в плагиновых панелях, если отключена опция Interface.CtrlPgUp
   и текущий каталог в файловой панели, с которой ушли в плагин - корень диска.

--------------------------------------------------------------------------------
drkns 2012-04-24 21:18:03+02:00 - build 2634

1. More correction on 2632.

--------------------------------------------------------------------------------
svs 2012-04-24 17:44:04+04:00 - build 2633

1. Correction of 2632

--------------------------------------------------------------------------------
svs 2012-04-24 17:16:28+04:00 - build 2632

1. Mantis#0001357: Show all types of Reparse Points in panels

   Recognizing:
    IO_REPARSE_TAG_MOUNT_POINT  0xA0000003L = Directory Junction or Volume Mount Point
    IO_REPARSE_TAG_SYMLINK      0xA000000CL = Directory or File Symbolic Link
    IO_REPARSE_TAG_DFS          0x8000000AL = Distributed File System
    IO_REPARSE_TAG_DFSR         0x80000012L = Distributed File System Replication
    IO_REPARSE_TAG_HSM          0xC0000004L = Hierarchical Storage Management
    IO_REPARSE_TAG_HSM2         0x80000006L = Hierarchical Storage Management2
    IO_REPARSE_TAG_SIS          0x80000007L = Single Instance Storage
    IO_REPARSE_TAG_WIM          0x80000008L = Windows Imaging Format
    IO_REPARSE_TAG_CSV          0x80000009L = Cluster Shared Volumes

   {
     Other tags are shown as ":XXXXXXXX" (X is a hex digit).
     As the info is too specific, it is not displayed by default.
     To display it, set the "Panel.Layout\ShowUnknownReparsePoint" parameter to 1:
      <?xml version="1.0" encoding="UTF-8" ?>
      <farconfig>
          <generalconfig>
              <setting key="Panel.Layout" name="ShowUnknownReparsePoint" type="qword" value="0000000000000001" />
          </generalconfig>
      </farconfig>
   }

   An option is added to panel settings: "Determine Volume Mount point".
   It allows specitying "Junction" in "size" field for directories (either "Junction" or "Volume").
   The option if off by default for panels because of its slow execution (especially on network volumes).

   Links info is not shown in QView if the file object is inaccessible, because of apiGetFileAttributes() failure.

2. The links field does exist in attributes settings dialog, but it is RO in case of unsuccessful obtaining of the info and 'Reparse'.

3. Macro: panel.item(XX,XX,23) returns ReparseTag

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001357: Показывать все типы Reparse Points в панелях

   Узнаем:
    IO_REPARSE_TAG_MOUNT_POINT  0xA0000003L = Directory Junction or Volume Mount Point
    IO_REPARSE_TAG_SYMLINK      0xA000000CL = Directory or File Symbolic Link
    IO_REPARSE_TAG_DFS          0x8000000AL = Distributed File System
    IO_REPARSE_TAG_DFSR         0x80000012L = Distributed File System Replication
    IO_REPARSE_TAG_HSM          0xC0000004L = Hierarchical Storage Management
    IO_REPARSE_TAG_HSM2         0x80000006L = Hierarchical Storage Management2
    IO_REPARSE_TAG_SIS          0x80000007L = Single Instance Storage
    IO_REPARSE_TAG_WIM          0x80000008L = Windows Imaging Format
    IO_REPARSE_TAG_CSV          0x80000009L = Cluster Shared Volumes

   {
     Прочие теги будут оттображаться как ":XXXXXXXX" (X - 16-ричная цифра).
     Т.к. слишком узкоспециализированная инфа, то вывод её отключен.
     Для включения: установите параметр "Panel.Layout\ShowUnknownReparsePoint" в 1:
      <?xml version="1.0" encoding="UTF-8" ?>
      <farconfig>
          <generalconfig>
              <setting key="Panel.Layout" name="ShowUnknownReparsePoint" type="qword" value="0000000000000001" />
          </generalconfig>
      </farconfig>
   }

   В настройках панели добавлена опция "Определять точки монтирования диска".
   Позволяет уточнять "Junction" в поле "размер" для каталогов (либо "Junction" либо "Volume").
   По умолчнию для панелей отключена, ибо операция дорогая и от того слишком медленная (особенно на сетевых дисках).

   В QView кусок по выводу инфы о Линках не выводится если нет доступа к файловому объекту, т.к. обламывается на вызове apiGetFileAttributes().

2. В диалоге установки аттрибутов поле для линков есть, но в режиме RO для неудачных попыток получить инфу и Reparse.

3. Macro: panel.item(XX,XX,23) - возвращает ReparseTag

--------------------------------------------------------------------------------
drkns 2012-04-22 02:16:36+02:00 - build 2631

1. Drive menu was not invoked if '@:' drive had been opened in the panel.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не открывалось меню дисков при открытом в панели диске '@:'.

--------------------------------------------------------------------------------
svs 2012-04-20 13:36:55+04:00 - build 2630

1. Mantis#0001687: ProcessConsoleInput
   (from Maximus)

--------------------------------------------------------------------------------
svs 2012-04-20 12:10:58+04:00 - build 2629

1. Mantis#0002069: rep(n,string)
   Macro: S=StrPad(V,Cnt[,Fill[,Op]]) function is added
     v     - original expression, if not specified or has a zero length then it is considred as an empty line
     cnt   - result size
             if negative or 0 then V is returned
             if V is specified and cnt is less than V length then V is returned
     Fill  - value to fill with
     Op    - how to fill: 0 - from the right, 1 - from the left, 2 - centered.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002069: rep(n,string)
   Macro: добавлена функция S=StrPad(V,Cnt[,Fill[,Op]])
     v     - исходное выражение, если не указано или длина равна 0 - считается пустой строкой
     cnt   - размер результата
             если отрицательно или 0 - возвращается V
             если V указано и cnt меньше длины V - возвращается V
     Fill  - чем заполнять
     Op    - как заполнять: 0 - справа, 1 - слева, 2 - по центру.

--------------------------------------------------------------------------------
w17 2012-04-19 15:45:53+04:00 - build 2628

1. gcc -warning

2. farlang minimal correction

--------------------------------------------------------------------------------
w17 2012-04-18 18:27:12+04:00 - build 2627

1. And 2605 once more

--------------------------------------------------------------------------------
svs 2012-04-18 18:06:58+04:00 - build 2626

1. Macro: keys limit is removed:

     <macro area="Shell" key="printFooBar"><text>print("FooBar")</text></macro>
     <macro area="Shell" key="CtrlP" flags="DisableOutput"><text>eval("printFooBar",2)</text></macro>

   "printFooBar" cannot be removed interactively.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: снято ограничение на клавиши:

     <macro area="Shell" key="printFooBar"><text>print("FooBar")</text></macro>
     <macro area="Shell" key="CtrlP" flags="DisableOutput"><text>eval("printFooBar",2)</text></macro>

   Интерактивно "printFooBar" не удаляется.

--------------------------------------------------------------------------------
svs 2012-04-18 17:18:43+04:00 - build 2625

1. Mantins#0002077: QView crash in a plugin panel
   (from Maximus)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantins#0002077: QView валится в плагиновой панели
   (from Maximus)

--------------------------------------------------------------------------------
drkns 2012-04-18 16:16:13+02:00 - build 2624

1. Correction of 2597.1.

--------------------------------------------------------------------------------
w17 2012-04-18 16:53:54+04:00 - build 2623

1. 2605 once more

--------------------------------------------------------------------------------
drkns 2012-04-18 10:30:09+02:00 - build 2622

1. The screen was not redrawn after an external editor/viewer call.

2. A couple of minor issues in usermenu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. После вызова внешнего редактора/viewer-а не перерисовывался экран.

2. Пара мелочей в usermenu.

--------------------------------------------------------------------------------
svs 2012-04-18 10:18:49+04:00 - build 2621

1. Mantis#0002070: ProcessConsoleInputInfo processing error
   (from Maximus)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002070: Ошибка обротки ProcessConsoleInputInfo
   (from Maximus)

--------------------------------------------------------------------------------
drkns 2012-04-17 10:11:45+02:00 - build 2620

1. 0002074: Show and modify Owner SID in Attributes dialog

2. 0002078: FAR crash with an incorrect lng file

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002074: Показывать и изменять Owner SID в диалоге Attributes

2. 0002078: Фар валится при некорректном lng-файле

--------------------------------------------------------------------------------
svs 2012-04-16 19:20:40+04:00 - build 2619

1. Macro: correction of the "engine".

2. Correction of KeyMacro::GetPlainText(). Debugging.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: уточнение "машины".

2. Корректировка KeyMacro::GetPlainText(). Ловим "жуков".

--------------------------------------------------------------------------------
w17 2012-04-16 18:20:39+04:00 - build 2618

1. Correction of 2605

--------------------------------------------------------------------------------
drkns 2012-04-16 14:33:05+02:00 - build 2617

1. 2616 build failure.

2. 0002076: Transition to network shares of a CentOS-5.4 system did not work

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 2616 не собирался.

2. 0002076: Не работает переход в сетевые шары системы с CentOS-5.4

--------------------------------------------------------------------------------
svs 2012-04-16 10:54:54+04:00 - build 2616

1. Macro: correction of the "engine".

2. Optimization of TVarSet class - removing the TAbstractSet intermediate class.

3. Correction of TVar class.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: уточнение "машины".

2. Оптимизация класса TVarSet - убираем промежуточный класс TAbstractSet.

3. Уточнение класса TVar.

--------------------------------------------------------------------------------
zg 2012-04-15 14:20:58+02:00 - build 2615

1. correction of 2603.

--------------------------------------------------------------------------------
w17 2012-04-15 10:55:54+04:00 - build 2614

1. M#1183: On Reload, codepage storing must take place before reading

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#1183: При Reload запоминание кодовой страницы должно происходить раньше считывания

--------------------------------------------------------------------------------
w17 2012-04-14 10:21:14+04:00 - build 2613

1. Correction of 2607

--------------------------------------------------------------------------------
zg 2012-04-13 19:36:08+02:00 - build 2612

1. Far.Cfg.Get returns public settings only.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Far.Cfg.Get отдаёт только публичные настройки.

--------------------------------------------------------------------------------
zg 2012-04-13 01:29:20+02:00 - build 2611

1. PCTL_FINDPLUGIN returns nullptr, PCTL_GETPLUGININFORMATION returns 0 for just deleted plugins.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. PCTL_FINDPLUGIN возвращает nullptr, PCTL_GETPLUGININFORMATION возвращает 0 для только что удалённых плагинов.

--------------------------------------------------------------------------------
zg 2012-04-12 20:36:52+02:00 - build 2610

1. 0002071: Regexps processing error - \x00

--------------------------------------------------------------------------------
drkns 2012-04-12 15:39:48+02:00 - build 2609

1. AltF4 in usermenu now opens a real file, not a temporary one.

2. An option for control of displaying ".." in the root.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. AltF4 в usermenu теперь открывает реальный файл, а не временный.

2. Опция для управления отображением ".." в корне.

--------------------------------------------------------------------------------
drkns 2012-04-12 09:55:30+02:00 - build 2608

1. Correction of 2601.2.

2. Correction of 2604.1.

--------------------------------------------------------------------------------
w17 2012-04-12 03:11:29+04:00 - build 2607

1. M#1773: Let enable AutoDetect item in Shift-F8 menu
   ACHTUNG: CP_AUTODETECT is renamed to CP_DEFAULT

2. M#1775: Shift-F4: Possibility of repeated automatic definifion of encoding of an opened file

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#1773: Дадим возможность разрешать пункт AutoDetect в меню по Shift-F8
   АХТУНГ: CP_AUTODETECT переименована в CP_DEFAULT

2. M#1775: Shift-F4: Возможность пере-автоопределения кодировки при открытии файла

--------------------------------------------------------------------------------
w17 2012-04-12 02:52:21+04:00 - build 2606

1. Correction of 2605

--------------------------------------------------------------------------------
w17 2012-04-11 23:14:16+04:00 - build 2605

1. 0002065: Mouse cursor position interferes with keyboard cursor control in help system.
   Just to try, ACHTUNG: the behaviour has changed : links are NOT highlighted on mouse move.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002065: Управлению курсором с клавиатуры в системе помощи мешает положение курсора мыши.
   На пробу, АХТУНГ: поведение изменено - ссылки НЕ подсвечиваются при перемещении мыши.

--------------------------------------------------------------------------------
drkns 2012-04-11 20:37:03+02:00 - build 2604

1. 0002067: Unexpected reaction to mouse wheel in vertical menus

2. Some more of 2597.1.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002067: Нелогичность реакции на колесо мышки в вертикальных меню

2. Ещё немного 2597.1.

--------------------------------------------------------------------------------
zg 2012-04-11 17:38:32+02:00 - build 2603

1. 0002004: Commands history is not saved within the session.

2. gcc warning.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002004: Не сохраняется история команд в пределах сеанса.

2. gcc warning.

--------------------------------------------------------------------------------
w17 2012-04-11 15:39:21+04:00 - build 2602

1. rollback of 2599.2

--------------------------------------------------------------------------------
drkns 2012-04-11 14:14:33+02:00 - build 2601

1. 0002020: 'One level up' transition disappeared from network panel
   and another couple of bugs in 2597.1

2. Experimental - ".." is now displayed in root directories too.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002020: Пропал переход на уровень вверх в панели отображения сети
   и ещё пара глюков 2597.1

2. В качестве эксперимента - ".." теперь отображается и в корневых каталогах тоже.

--------------------------------------------------------------------------------
w17 2012-04-11 14:32:17+04:00 - build 2600

1. M#2066: Long file name overwritten with the short one

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2066: Затирание длинного имени файла коротким

--------------------------------------------------------------------------------
w17 2012-04-10 23:47:54+04:00 - build 2599

1. execute.cpp: fix image subsystem detection (from Maximus5)

2. open-as... for incorrectly given name (from Maximus5)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. execute.cpp: fix image subsystem detection (from Maximus5)

2. open-as... для неправильно заданного имени (from Maximus5)

--------------------------------------------------------------------------------
drkns 2012-04-10 21:58:06+02:00 - build 2598

1. Correction of 2597.1.

--------------------------------------------------------------------------------
drkns 2012-04-10 20:51:51+02:00 - build 2597

1. Inner paths parser is reworked slightly. Root detection must have improved and various minor bugs fixed. Well, or bigger ones may appear, it depends :)

2. Once again on 0002061: Date wrong in Attributes dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Немного переделан внутренний парсер путей. По идее будет лушче определяться корень и починятся всякие мелкие баги. Ну или появятся новые крупные, как повезет :)

2. Ещё раз 0002061: Date wrong in Attributes dialog.

--------------------------------------------------------------------------------
w17 2012-04-10 20:21:20+04:00 - build 2596

1. More restrictions on SEE_MASK_INVOKEIDLIST - off for .exe files

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё ограничим SEE_MASK_INVOKEIDLIST - отключим для .exe файлов

--------------------------------------------------------------------------------
w17 2012-04-10 19:30:17+04:00 - build 2595

1. !~ was replaced with 1st letter of short name in associations

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. !~ в ассоциациях заменялась на 1-ю букву короткого имени

--------------------------------------------------------------------------------
svs 2012-04-10 18:38:40+04:00 - build 2594

1. Mantis#0002064: A bug in HiText2Str

--------------------------------------------------------------------------------
w17 2012-04-06 23:27:23+04:00 - build 2593

1. FSF.sprintf() fix for gcc 4.6+

--------------------------------------------------------------------------------
drkns 2012-04-06 14:09:49+02:00 - build 2592

1. 0002061: Date wrong in Attributes dialog

--------------------------------------------------------------------------------
zg 2012-04-05 02:36:51+02:00 - build 2591

1. fix for visual inconsistency after ECTL_SELECT if the cursor was set to an incorrect place for vertical blocks.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. исправлена визуальная несогласованость после ECTL_SELECT, если курсор стоял в неправильном месте для вертикальных блоков.

--------------------------------------------------------------------------------
zg 2012-04-05 01:53:27+02:00 - build 2590

1. fix for visual inconsistency after ECTL_SELECT if the cursor was set to an incorrect place for stream blocks.

2. ECTL_SETPOSITION and ECTL_SETSTRING do not reset block selection flag at once, but only if continuing selection shows the cursor positioned in incorrect place.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. исправлена визуальная несогласованость после ECTL_SELECT, если курсор стоял в неправильном месте для потоковых блоков.

2. ECTL_SETPOSITION и ECTL_SETSTRING не сбрасывают признак выделения блока сразу, а только если при продолжении выделения окажется, что курсор расположен в неправильном месте.

--------------------------------------------------------------------------------
zg 2012-04-04 23:02:53+02:00 - build 2589

1. correction of 2589.

--------------------------------------------------------------------------------
zg 2012-04-04 21:49:33+02:00 - build 2588

1. ECTL_SETPOSITION updates LeftPos to the correct value at once. else ECTL_GETINFO could get incorrect data.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. ECTL_SETPOSITION обновляет LeftPos до корректного значения сразу. иначе в ECTL_GETINFO могут приходить некорректные данные.

--------------------------------------------------------------------------------
zg 2012-04-04 19:25:15+02:00 - build 2587

1. highly experimental. invoking other FCTL_* does not lead to FCTL_CLOSEPANEL cancellation.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. весьма экспериментально. вызов других FCTL_* не приводит к отмене FCTL_CLOSEPANEL.

--------------------------------------------------------------------------------
zg 2012-04-04 18:11:47+02:00 - build 2586

1. ECF_TABMARKCURRENT misbehaved with non-zero LeftPos in editor.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. ECF_TABMARKCURRENT работал некорректно, при ненулевом LeftPos в редакторе.

--------------------------------------------------------------------------------
w17 2012-04-04 18:22:17+04:00 - build 2585

1. gcc 4.7.0 warnings, +build x64 far / x86 gcc

--------------------------------------------------------------------------------
zg 2012-04-04 15:06:12+02:00 - build 2584

1. correction of 2584. if an archive was opened bypassing AnalyseW then the cursor was not positioned after exit on FCTL_CLOSEPANEL.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 2584. если в архив зашли минуя AnalyseW, то при выходе по FCTL_CLOSEPANEL не позиционировался курсор.

--------------------------------------------------------------------------------
zg 2012-04-03 17:12:52+02:00 - build 2583

1. if FCTL_CLOSEPANEL was given an empty Param2 then the transition moved to the previous file panel, if it had existed, instead of fixed file panels.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. если Param2 у FCTL_CLOSEPANEL пустой, то переход осуществляется не фиксировано на файловые панели, а в предыдущую плагиновую панель, если такая существовала.

--------------------------------------------------------------------------------
zg 2012-04-02 13:53:24+02:00 - build 2582

1. 0002060: Technical information on plugins in the disk menu

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002060: Тех.инфо по плагину в меню дисков

--------------------------------------------------------------------------------
drkns 2012-04-01 15:09:54+02:00 - build 2581

1. Transition to upper directory did not work for UNC paths.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не работал переход в надкаталог для unc-путей.

--------------------------------------------------------------------------------
zg 2012-04-01 15:02:04+02:00 - build 2580

1. PFLAGS_SHORTCUT is added. it reflects OPIF_SHORTCUT's state.

2. FCTL_GETPANELDIRECTORY always returns info on the current directory. You can learn whether it is safe to use by checking the presence of PFLAGS_SHORTCUT.

3. warning.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. добавлен PFLAGS_SHORTCUT. отражает состояние OPIF_SHORTCUT.

2. FCTL_GETPANELDIRECTORY всегда возвращает данные о текущей директории. насколько безопасно ими можно пользоваться - смотреть по наличию PFLAGS_SHORTCUT.

3. warning.

--------------------------------------------------------------------------------
svs 2012-03-29 14:03:42+04:00 - build 2579

1. For Macro.Keyword(XXX,1), "Funcs","Consts","Vars" are unavailable because these are reserved words and they are indirectly related to macro areas.

2. Macro.var|const parameters were misplaced and the response to "0" was not implemented (it gets the number of "objects")

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Для Macro.Keyword(XXX,1) недоступны "Funcs","Consts","Vars", т.к. это служебные слова, к макрообластям имеют опосредованное отношение.

2. Macro.var|const параметры перепутаны мкстами и не был реализован отклик на "0" (узнать количество "объектов")

--------------------------------------------------------------------------------
w17 2012-03-28 23:45:50+04:00 - build 2578

1. output 'set prefix>file' and 'set prefix | command' to cmd.exe

2. warning

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. отдаём 'set prefix>file' и 'set prefix | command' cmd.exe

2. warning

--------------------------------------------------------------------------------
svs 2012-03-28 19:59:45+04:00 - build 2577

1. Processed type is added (the second parameter) for Macro.Const() and Macro.Var()
    Type:
      2 - return the numeric value of the constant/variable type (0,1,2,3)
      3 - return the name of the constant/variable type ("unknown","integer","text","real")

2. For Macro.Keyword, Type=4 is added - the function returns the constant/variable type (for example, "unknown","integer","text","real")

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Добавка обрабатываемого типа (второй параметр) для Macro.Const() и Macro.Var()
    Type:
      2 - вернуть числовое значение типа константы/переменной (0,1,2,3)
      3 - вернуть имя типа константы/переменной ("unknown","integer","text","real")

2. Для Macro.Keyword добавлен Type=4 - функция вернет тип переменой/константы (например, "unknown","integer","text","real")

--------------------------------------------------------------------------------
svs 2012-03-28 17:39:50+04:00 - build 2576

1. Mantis#0002056: Error in returning from plugin.call / callplugin
   (from Maximus)

2. Macro: Plugin.Cmdline is renamed to Plugin.Command

3. Macro: MacroArea 'variable' is renamed to Macro.Area

4. Macro: macro functions are added that allow getting information about some macro language elements:

     S=Macro.Keyword(Index[,Type])
       Returns a keyword indexed with Index (starting from 1). If Index=0 then the number of words is returned (numeric).
       Type:
         0 (by default) - Far Keywords (those from MKeywords array, for example, Far.Width, PPanel.OPIFlags etc.)
         1 - Area (those from MKeywordsArea array, for example, Shell, MainMenu etc.)
         2 - Macro Flags (those from MKeywordsFlags array, for example, DisableOutput, NoPluginPanels etc.)
         3 - Macro Operation (those starting from '$', for example, $if, $SelWord etc.)

     S=Macro.Func(Index[,Type])
       Returns information about a function indexed with Index (starting from 1). If Index=0 then the number of registered macro functions is returned (numeric).
       Type:
         0 (by default) - name
         1 - syntax
         2 - GUID of a plugin providing the function

     S=Macro.Const(Index[,Type])
       Returns information about a constant indexed with Index (starting from 1). If Index=0 then the number of constants is returned (numeric).
       Type:
         0 (by default) - the constant name
         1 - the value

     S=Macro.Var(Index[,Type])
       Returns information about a variable indexed with Index (starting from 1). If Index=0 then the number of variables is returned (numeric).
       Type:
         0 (by default) - the variable name
         1 - the value

5. Macro: "$Text" is removed, use "print"
   Double-quoted text is temporarily left.

6. In intMacroFunction array, the names of the functions are made CaseMixed...

   <ACHTUNG>

   Check your macros against these issues:
     1) Plugin.Cmdline -> Plugin.Command
     2) MacroArea -> to Macro.Area
     3) "$Text" is removed, use "print"

   </ACHTUNG>

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002056: Ошибка в возврате plugin.call / callplugin
   (from Maximus)

2. Macro: Plugin.Cmdline переименована в Plugin.Command

3. Macro: "Переменная" MacroArea переименована в Macro.Area

4. Macro: добавлены макрофункции, позволяющие получить информацию о некоторых элементах макроязыка:

     S=Macro.Keyword(Index[,Type])
       Возвращает ключевое слово с индексом Index (начинается с 1). Если Index=0, то возвращается количество слов (число).
       Type:
         0 (по-умолчанию) - Far Keywords (те, что в массиве MKeywords, например, Far.Width, PPanel.OPIFlags и т.п.)
         1 - Area (те, что в массиве MKeywordsArea, например, Shell, MainMenu и т.п.)
         2 - Macro Flags (те, что в массиве MKeywordsFlags, например, DisableOutput, NoPluginPanels и т.п.)
         3 - Macro Operation (которые с '$' начинаются, например, $if, $SelWord и т.п.)

     S=Macro.Func(Index[,Type])
       Возвращает информацию о функции с индексом Index (начинается с 1). Если Index=0, то возвращается количество зарегистрированных макрофункций (число).
       Type:
         0 (по-умолчанию) - имя
         1 - синтаксис
         2 - GUID плагина, предоставляющего функцию

     S=Macro.Const(Index[,Type])
       Возвращает информацию о константе с индексом Index (начинается с 1). Если Index=0, то возвращается количество констант (число).
       Type:
         0 (по-умолчанию) - имя константы
         1 - значение

     S=Macro.Var(Index[,Type])
       Возвращает информацию о переменной с индексом Index (начинается с 1). Если Index=0, то возвращается количество переменных (число).
       Type:
         0 (по-умолчанию) - имя константы
         1 - значение

5. Macro: Удален "$Text", используйте "print"
   Временно остался вариант в виде самостоятельного текста, заключенного в двойные кавычки.

6. В массиве intMacroFunction имена функция сделаны CaseMixed...

   <АХТУНГ>

   Проверяйте свои макросы на предмет:
     1) Plugin.Cmdline -> Plugin.Command
     2) MacroArea -> в Macro.Area
     3) Удален "$Text", используйте "print"

   </АХТУНГ>

--------------------------------------------------------------------------------
w17 2012-03-28 16:27:50+04:00 - build 2575

1. Mantis#1506: Regexps cannot be used in backwards search

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1506: При поиске назад не работают регэкспы

--------------------------------------------------------------------------------
drkns 2012-03-26 13:20:06+02:00 - build 2574

1. A typo in 2453.1

--------------------------------------------------------------------------------
zg 2012-03-25 20:59:15+02:00 - build 2573

1. when processing shift-f2, OPM_TOPLEVEL was returned earlier for the first file, and OPM_TOPLEVEL|OPM_SILENT for the next ones.
   now there is plugin-wise separation. OPM_SILENT is added starting from the second file being processed by a particular plugin.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. при обработке shift-f2 раньше для первого файла приходил OPM_TOPLEVEL, для всех последующих OPM_TOPLEVEL|OPM_SILENT.
   сейчас введено разделение по плагинам. OPM_SILENT добавляется начиная со второго файла обрабатываемого конкретным плагином.

--------------------------------------------------------------------------------
zg 2012-03-25 19:11:55+02:00 - build 2572

1. OpenW returns NULL if the panel is not created. PANEL_STOP - if the panel is created but further processing has to be cancelled. (HANDLE)-2 is not processed intentionally.
   all native plugins are broken.

2. AnalyseW returns NULL if the format has not been recognized. INVALID_HANDLE_VALUE is also considered as a recognized format now.
   all native plugins are broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. OpenW возвращает NULL, если панель не создаётся. PANEL_STOP - если панель создаётся но надо прервать дальнейшую обработку. (HANDLE)-2 специально не обрабатывется.
   все нативные плагины перестали работать.

2. AnalyseW возвращает NULL, если формат не опознан. INVALID_HANDLE_VALUE теперь тоже считается за опознанный формат.
   все нативные плагины перестали работать.

--------------------------------------------------------------------------------
zg 2012-03-25 17:30:47+02:00 - build 2571

1. FSF::qsort is removed. FSF::qsortex is renamed to FSF::qsort and __cdecl is replaced with WINAPI.
   all native plugins are broken.

2. FSF::bsearch is changed. __cdecl is replaced with WINAPI. additional 'user' parameter is passed to the compare function.
   all native plugins are broken.

3. FSF::Reserved is removed.
   all native plugins are broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. FSF::qsort убрана. FSF::qsortex переименована в FSF::qsort и __cdecl изменён на WINAPI.
   все нативные плагины перестали работать.

2. FSF::bsearch изменена. __cdecl изменён на WINAPI. добавлен параметр user, который передаётся в функцию сравнения.
   все нативные плагины перестали работать.

3. убран FSF::Reserved.
   все нативные плагины перестали работать.

--------------------------------------------------------------------------------
zg 2012-03-25 14:58:20+02:00 - build 2570

1. correction of 2567.

--------------------------------------------------------------------------------
drkns 2012-03-25 14:15:24+02:00 - build 2569

1. warning.

2. api: constant CURRENT_EDITOR == -1 for EditorControl.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. warning.

2. api: константа CURRENT_EDITOR == -1 для EditorControl.

--------------------------------------------------------------------------------
zg 2012-03-25 04:17:02+02:00 - build 2568

1. DM_LISTINFO implementation is fixed in the wrapper.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. исправлена реализация DM_LISTINFO во враппере.

--------------------------------------------------------------------------------
zg 2012-03-25 02:23:52+02:00 - build 2567

1. StructSize field is added to the following structures:
   FarListUpdate
   FarListInsert
   FarListGetItem
   FarListPos
   FarListFind
   FarListDelete
   FarListInfo
   FarListItemData
   FarListTitles
   FarDialogItemColors
   FarDialogItemData
   OpenDlgPluginData
   FarGetDialogItem
   all native plugins are broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. поле StructSize добавлено в следующие структуры:
   FarListUpdate
   FarListInsert
   FarListGetItem
   FarListPos
   FarListFind
   FarListDelete
   FarListInfo
   FarListItemData
   FarListTitles
   FarDialogItemColors
   FarDialogItemData
   OpenDlgPluginData
   FarGetDialogItem
   все нативные плагины перестали работать.

--------------------------------------------------------------------------------
svs 2012-03-23 17:09:23+04:00 - build 2566

1. Mantis#0000881: Incorrect $AKey functioning.

--------------------------------------------------------------------------------
drkns 2012-03-23 13:57:12+02:00 - build 2565

1. Correction of 2564.

2. Warnings.

--------------------------------------------------------------------------------
svs 2012-03-22 16:08:04+04:00 - build 2564

1. a minor fix to get rid of calling GeneralCfg

2. ReadConfig() call is moved "higher".

3. sqlite 3.7.11

--------------------------------------------------------------------------------
svs 2012-03-22 14:24:38+04:00 - build 2563

1. Mantis#0002053: Some <RCtrl + LAlt + key> combinations malfunction

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002053: Работают не все кнопкосочетания <RCtrl + LAlt + клавиша>

--------------------------------------------------------------------------------
svs 2012-03-22 12:35:09+04:00 - build 2562

1. Preparing to the tree file storing theme - new dialog "Tree settings".

2. "Auto change folder" option moved from "Panel settings" to the new dialog "Tree settings".

3. The tree is now stored in tree3.far file (its "structure" is unchanged so far), and the cache is in tree3.cache directory.

4. tree3.cache directory is now placed in LocalProfilePath (earlier in %FARHOME%)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Подготовка к теме о хранение файлов-деревьев - новый диалог "Tree settings".

2. Опция "Auto change folder" перенесена из "Panel settings" в новый диалог "Tree settings".

3. Дерево теперь хранится в файле с именем tree3.far ("структура" пока не поменялась), а кэш - в каталоге tree3.cache.

4. Каталог tree3.cache теперь располагается в LocalProfilePath (раньше был в %FARHOME%)

--------------------------------------------------------------------------------
svs 2012-03-20 13:31:49+04:00 - build 2561

1. Fix for 2557 (regarding syslog.cpp)

2. Mantis#0001483: Make Dlg.GetValue() parameters optional

   Dlg.GetValue()==Dlg.GetValue(-1)

3. Mantis#0001903: Plugin.Menu(guid,menuGuid)

   <ACHTUNG>

   Plugin.Prefix is renamed to Plugin.Cmdline

   </ACHTUNG>

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Fix for 2557 (в части syslog.cpp)

2. Mantis#0001483: Сделать параметры Dlg.GetValue() опциональными

   Dlg.GetValue()==Dlg.GetValue(-1)

3. Mantis#0001903: Plugin.Menu(guid,menuGuid)

   <АХТУНГ>

   Plugin.Prefix переименован в Plugin.Cmdline

   </АХТУНГ>

--------------------------------------------------------------------------------
svs 2012-03-20 11:17:53+04:00 - build 2560

1. Fix for 2557

--------------------------------------------------------------------------------
zg 2012-03-20 03:51:54+02:00 - build 2559

1. ECTL_TURNOFFMARKINGBLOCK is removed. required actions are taken automatically for all ECTL_* changing anything in the editor.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. ECTL_TURNOFFMARKINGBLOCK убрана. для всех ECTL_* что-то меняющих в редакторе требуемые действия производятся автоматически.

--------------------------------------------------------------------------------
zg 2012-03-20 02:51:44+02:00 - build 2558

1. rollback of 2551.

2. KMFLAGS_SAVEMACRO is removed.

--------------------------------------------------------------------------------
zg 2012-03-20 02:36:49+02:00 - build 2557

1. Private field in PluginStartupInfo.

--------------------------------------------------------------------------------
zg 2012-03-19 19:43:07+02:00 - build 2556

1. shortcuts and plugin history processing is redone.
   now following a shortcut of a history item always causes OpenW(OPEN_SHORTCUT,...). Data points to OpenShortcutInfo.
   in order to plugin folders get to history and shortcuts, it is necessary to specify OPIF_SHORTCUT flag in OpenPanelInfo.Flags.
   FCTL_GETPANELDIRECTORY for a plugin panel without OPIF_SHORTCUT flag returns 0.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. работа с шоткатами и историей в плагинах переделана.
   теперь при переходу по шоткату или из истории всегда приходит OpenW(OPEN_SHORTCUT,...). Data указывает на OpenShortcutInfo.
   для того чтобы папки плагина попадали в историю и шоткаты, необходимо в указать флаг OPIF_SHORTCUT в OpenPanelInfo.Flags.
   FCTL_GETPANELDIRECTORY для плагиновой панели без флага OPIF_SHORTCUT вернёт 0.

--------------------------------------------------------------------------------
drkns 2012-03-19 14:01:43+02:00 - build 2555

1. Mantis#0002051: Error in copying to a CentOS-5.4 system's network share.

2. A couple of issues in the copier.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002051: Ошибка при копировании на сетевую шару системы с CentOS-5.4.

2. Пара мелочей в копире.

--------------------------------------------------------------------------------
zg 2012-03-18 01:23:01+02:00 - build 2554

1. FAR also closes plugin panel automatically if OpenPlanelInfo.CurDir==L"\\".

2. correction of 2553.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. фар закрывает панель плагина автоматически также если OpenPlanelInfo.CurDir==L"\\".

2. уточнение 2553.

--------------------------------------------------------------------------------
svs 2012-03-17 15:17:38+04:00 - build 2553

1. Since Mantis#1840, global variables and constants are written to DB.
   Global variables must get to the "storage" in 2 ways only:
    a) via farconfig file
    b) via msave() macrofunction.

   http://forum.farmanager.com/viewtopic.php?p=89561#p89561 par.1

   The code of the KeyMacro::WriteVarsConsts() function is "hidden" so far.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. После Mantis#1840 в базу начали писаться глобальные переменные и константы.
   Глобальные переменные должны попадать в "хранилище" только в двух случаях:
    а) через farconfig-файл
    б) посредством макрофункции msave().

   http://forum.farmanager.com/viewtopic.php?p=89561#p89561 п.1

   Код функции KeyMacro::WriteVarsConsts() пока "спрячем".

--------------------------------------------------------------------------------
svs 2012-03-17 13:43:33+04:00 - build 2552

1. Macro: bug $SelWord
   macro:post ShiftF4 t e s t Enter t e s t $SelWord msgbox("","Not selected") Space Left $SelWord msgbox("","Selected")

   http://forum.farmanager.com/viewtopic.php?p=89561#p89561  par.5

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: bug $SelWord
   macro:post ShiftF4 t e s t Enter t e s t $SelWord msgbox("","Не выделилось") Space Left $SelWord msgbox("","Выделилось")

   http://forum.farmanager.com/viewtopic.php?p=89561#p89561  п.5

--------------------------------------------------------------------------------
zg 2012-03-16 20:06:10+02:00 - build 2551

1. OPM_SHORTCUT is added. it is passed to AnalyseW when following a shortcut or a history item.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. добавлен OPM_SHORTCUT. приходит в AnalyseW при переходе по шоткату или истории.

--------------------------------------------------------------------------------
svs 2012-03-16 10:56:28+04:00 - build 2550

1. Mantis#0001483: Make Dlg.GetValue() parameters optional

   V=Dlg.GetValue([Pos[,InfoID]])

   If the parameter(s) are not specified then it is implied that:
     Pos - returns values from the current focused item
     InfoID - the item value (0)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001483: Сделать параметры Dlg.GetValue() опциональными

   V=Dlg.GetValue([Pos[,InfoID]])

   Если параметр(ы) не указаны, то подразумевается:
     Pos - получаем значения из текущего фокусного элемента
     InfoID - значение элемента (0)

--------------------------------------------------------------------------------
svs 2012-03-15 10:20:11+04:00 - build 2549

1. Far.Cfg.Get("System.KnownIDs", "Network")
   returns garbage
   If the field is GeneralConfig::TYPE_BLOB and this is not "System.KnownIDs", then Far.Cfg.Get() sets Far.Cfg.Err error (macro constant) to 1

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Far.Cfg.Get("System.KnownIDs", "Network")
   возвращает ерунду
   Если поле GeneralConfig::TYPE_BLOB и это не "System.KnownIDs", то Far.Cfg.Get() выставит ошибку (макроконстанта) Far.Cfg.Err в 1

--------------------------------------------------------------------------------
zg 2012-03-15 04:15:06+02:00 - build 2548

1. in 2351, transition to file panel from history was broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. в 2351 перестал работать переход из истории на плагиновую панель.

--------------------------------------------------------------------------------
zg 2012-03-15 02:17:13+02:00 - build 2547

1. in 2036, transition to nearest accessible folder in folder links was broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. в 2036 перестал роботать переход в ближайшую доступную папку в ссылках на папки.

--------------------------------------------------------------------------------
zg 2012-03-14 23:16:28+02:00 - build 2546

1. the following options available to plugins: FSSF_INTERFACE/"ShowMenuBar", FSSF_DIALOG/"EditBlock", FSSF_DIALOG/"EULBsClear", FSSF_DIALOG/"DelRemovesBlocks", FSSF_PANELLAYOUT/"ColumnTitles", FSSF_PANELLAYOUT/"StatusLine", FSSF_PANELLAYOUT/"SortMode".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. плагинам доступны опции: FSSF_INTERFACE/"ShowMenuBar", FSSF_DIALOG/"EditBlock", FSSF_DIALOG/"EULBsClear", FSSF_DIALOG/"DelRemovesBlocks", FSSF_PANELLAYOUT/"ColumnTitles", FSSF_PANELLAYOUT/"StatusLine", FSSF_PANELLAYOUT/"SortMode".

--------------------------------------------------------------------------------
svs 2012-03-13 15:12:25+04:00 - build 2545

1. Help updated

2. Restoring a lost option (on drag&drop) in confirmations dialog...

3. Help for MaskGroupsSettings

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Немного актуализации хелпа

2. Вернем потерянную опцию (про drag&drop) из диалога подтверждений...

3. Хелп для MaskGroupsSettings

--------------------------------------------------------------------------------
zg 2012-03-13 12:20:04+02:00 - build 2544

1. FSSF_SCREEN/"KeyBar" option available to plugins.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. плагинам доступна опция FSSF_SCREEN/"KeyBar".

--------------------------------------------------------------------------------
svs 2012-03-13 11:16:01+04:00 - build 2543

1. DMODE_NOPLUGINS is added to PluginManager::CallPlugin and PluginManager::CallPluginItem

2. Macro: renamed: Plugin.Call -> Plugin.Menu, Plugin.Int -> Plugin.Call

3. Macro: N=Plugin.Exist(Guid) macrofunction is added
   Returns: 0 - there's no plugin with Guid identifier, 1 - there is such a plugin.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Добавка DMODE_NOPLUGINS в PluginManager::CallPlugin и PluginManager::CallPluginItem

2. Macro: переименование: Plugin.Call -> Plugin.Menu, Plugin.Int -> Plugin.Call

3. Macro: Добавлена макрофункция N=Plugin.Exist(Guid)
   Возвращает 0 - нет плагина с индентификатором Guid, 1 - есть такой плагин.

--------------------------------------------------------------------------------
zg 2012-03-13 01:52:57+02:00 - build 2542

1. FSSF_CONFIRMATIONS/"RemoveConnection" option available to plugins.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. плагинам доступна опция FSSF_CONFIRMATIONS/"RemoveConnection".

--------------------------------------------------------------------------------
zg 2012-03-13 01:09:42+02:00 - build 2541

1. As it had been promised, ACTL_GETSYSWORDDIV, ACTL_GETSYSTEMSETTINGS, ACTL_GETPANELSETTINGS, ACTL_GETINTERFACESETTINGS,
   ACTL_GETCONFIRMATIONS, ACTL_GETDESCSETTINGS, ACTL_GETPLUGINMAXREADDATA ACTL_GETDIALOGSETTINGS are removed.
   plugins not prepared to this in time may be broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. как было обещано, удалены ACTL_GETSYSWORDDIV, ACTL_GETSYSTEMSETTINGS, ACTL_GETPANELSETTINGS, ACTL_GETINTERFACESETTINGS, ACTL_GETCONFIRMATIONS, ACTL_GETDESCSETTINGS, ACTL_GETPLUGINMAXREADDATA и ACTL_GETDIALOGSETTINGS.
   плагины, которые вовремя не подготовились, могут работать не совсем корректно.

--------------------------------------------------------------------------------
svs 2012-03-12 21:30:41+04:00 - build 2540

1. Mantis#0001903: Plugin.Menu(guid,menuGuid)
   (from Maximus)

     N=Plugin.Call(Guid[,MenuGuid])
       Similar to plugin call from plugins menu with F11 with no hotkeys definition or plugin search needed in the list.
     N=Plugin.Config(Guid[,MenuGuid])
       Similar to plugin call from "Plugin parameters" menu with no hotkeys definition or plugin search needed in the list.
       Panels only.
     N=Plugin.Prefix(Guid,Command)
       Similar to plugin call with a prefix from panels with no storing/clearing/restoring current command line contents needed.
     N=Plugin.Int(Guid[,Item])
       an alias for callplugin

   mmode(3) doen not influence to these functions (except for Plugin.Int)

   <ACHTUNG>

   Debugging in process...

   </ACHTUNG>

2. mmode(3) is on by default!

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001903: Plugin.Menu(guid,menuGuid)
   (from Maximus)

     N=Plugin.Call(Guid[,MenuGuid])
       Аналог вызова плагина из меню плагинов по F11 без необходимости задавать
       горячие клавиши или искать плагин в списке.
     N=Plugin.Config(Guid[,MenuGuid])
       Аналог вызова плагина из меню "Параметры плагинов" без необходимости задавать
       горячие клавиши или искать плагин в списке. Работает только в панелях.
     N=Plugin.Prefix(Guid,Command)
       Аналог вызова плагина по префиксу из панелей без необходимости
       запоминать/очищать/восстанавливать текущее содержимое командной строки.
     N=Plugin.Int(Guid[,Item])
       алиас для callplugin

   mmode(3) не влияет на работу этих функций (кроме Plugin.Int)

   <АХТУНГ>

   Вылавливаем блох...

   </АХТУНГ>

2. mmode(3) по умолчанию включен!

--------------------------------------------------------------------------------
zg 2012-03-12 14:02:00+02:00 - build 2539

1. a new flag is added, WIF_MODAL. ACTL_GETWINDOWINFO also returns information on modal windows. ACTL_GETWINDOWCOUNT is the summary windows count.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. добавлен новый флаг WIF_MODAL. ACTL_GETWINDOWINFO возвращает иформацию и о модальных окнах. ACTL_GETWINDOWCOUNT - общее число окон.

--------------------------------------------------------------------------------
zg 2012-03-12 05:30:07+02:00 - build 2538

1. EditorControl(RealId,...) did not work for modal editors.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. EditorControl(RealId,...) не работал для модальных редакторов.

--------------------------------------------------------------------------------
w17 2012-03-12 00:04:46+04:00 - build 2537

1. correction of 2536

2. M#2049: Autocompletion does not work if the folder name contains spaces

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 2536

2. M#2049: Не работает автодополнение, если в имени папки есть пробелы

--------------------------------------------------------------------------------
w17 2012-03-11 14:38:39+04:00 - build 2536

1. M#2048: Search in directories containing ";"

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2048: Поиск в каталогах с символом ;

--------------------------------------------------------------------------------
w17 2012-03-09 11:31:30+04:00 - build 2535

1. M#2045 - Win+Up does not maximize the FAR window

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. M#2045 - Не работает комбинация Win+Up для разворота окна фара на весь экран

--------------------------------------------------------------------------------
w17 2012-03-07 23:39:00+04:00 - build 2534

1. the cause of crash is formally eliminated. what the code doe is a secret for me

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. формально устранена причина крэша. что этот код делает - для меня загадка

--------------------------------------------------------------------------------
drkns 2012-03-07 15:06:24+02:00 - build 2533

1. Now GuardLastError class also stores ntstatus.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Класс GuardLastError теперь хранит и ntstatus.

--------------------------------------------------------------------------------
w17 2012-03-07 09:12:30+04:00 - build 2532

1. correction in 2531

--------------------------------------------------------------------------------
drkns 2012-03-06 19:31:53+02:00 - build 2531

1. A workaround for a bug in ShellExecuteEx.

--------------------------------------------------------------------------------
zg 2012-03-06 17:53:49+02:00 - build 2530

1. if the cursor was hidden, alt-up could be broken beyond lines and in tabulation spaces.

2. correction of 2525 for vertical blocks old behaviour.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. при отключённом курсоре за пределами строки и табах не всегда работало alt-up.

2. уточнение 2525 для старого поведения вертикальных блоков.

--------------------------------------------------------------------------------
zg 2012-03-06 17:31:05+02:00 - build 2529

1. rollback of 2524.

--------------------------------------------------------------------------------
drkns 2012-03-06 15:07:46+02:00 - build 2528

1. From Tim Sobolev: search in mask groups menu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. From Tim Sobolev: поиск в меню групп масок.

--------------------------------------------------------------------------------
w17 2012-03-06 14:50:05+04:00 - build 2527

1. Unicode .hlf file reading error

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ошибка чтения юникодного .hlf файла

--------------------------------------------------------------------------------
drkns 2012-03-06 10:46:25+02:00 - build 2526

1. In some cases the necessary width of messages was calculated incorrectly.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В некоторых случаях некорректно рассчитывалась необходимая ширина сообщений.

--------------------------------------------------------------------------------
zg 2012-03-06 04:46:05+02:00 - build 2525

1. correction of 2357.1. the width of vertical block is calculated correctly. take into account it can be inexisting even if the vertical selection exists in the current line.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 2357.1. правильно считаем ширину вертикального блока. учитываем, что даже при наличии вертикального выделения в текущей строке его может и не быть.

--------------------------------------------------------------------------------
zg 2012-03-06 04:05:03+02:00 - build 2524

1. vertical blocks redone. now block is bound to symbols instead of screen position.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. переделаны вертикальные блоки. теперь блок привязан к символам, а не к позиции на экране.

--------------------------------------------------------------------------------
zg 2012-03-05 20:23:08+02:00 - build 2523

1. Cannot select zero width vertical block with editor.sel.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Невозможно с помощью editor.sel выделить вертикальный блок нулевой ширины.

--------------------------------------------------------------------------------
zg 2012-03-05 16:18:48+02:00 - build 2522

1. 0002043: Editor.Sel(1,1) does not work in the editor in described situation

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002043: Editor.Sel(1,1) в редакторе не работает в описанной ситуации

--------------------------------------------------------------------------------
svs 2012-03-05 12:30:56+04:00 - build 2521

1. Variables moved from Options into the separate ExecuteOptions structure
   strExcludeCmds and strHomeDir (cd ~) are added to ExecuteOptions

2. Getting rid of GeneralCfg->GetValue() in execution code

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Переменные из Options в отдельную структуру ExecuteOptions
   В структуру ExecuteOptions добавлены strExcludeCmds и strHomeDir (cd ~)

2. В исполняторе избавляемся от GeneralCfg->GetValue()

--------------------------------------------------------------------------------
svs 2012-03-05 11:48:02+04:00 - build 2520

1. Mantis#0002041: DN_LISTHOTKEY - incorrect functioning in combo boxes
    Incorrect positioning is observed in dialogs when an item is chosen with a hotkey in a combo.
    The main problem is caused with the following one:
    "Modal::ExitCode = -1;" in "VMenu::DisplayObject()"

    Being chosen with a hotkey, ExitCode is set to a needed value in VMenu::CheckKeyHiOrAcc() function, then EndLoop loop finish flag is set.
    The plugin gets DN_LISTHOTKEY notification from VMenu::ProcessKey(). As the plugin has normally returned 'false', the code setting the position back into
    its previous value does not execute.
    After that, ExitCode is reset to -1 in VMenu::DisplayObject().
    Then, combo processing loop in Dialog::SelectFromComboBox() is finished, "Dest=ComboBox->Modal::GetExitCode();" position is acquired,
    which is already -1 ==> "ComboBox->SetSelectPos(OriginalPos,0);" is invoked (the plugin is not notified of that).

    The second problem: the plugin responded 'true' to DN_LISTHOTKEY.
    Here, the docs have to be updated, because the phrase "TRUE - plugin has processed the event." does not really clear things :-)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002041: DN_LISTHOTKEY - некорректная работа в комбобоксах
    В диалогах при выборе пункта по хоткею в комбобоксе наблюдается неправильное позиционирование.
    Основная проблема из-за вот этого:
    "Modal::ExitCode = -1;" в "VMenu::DisplayObject()"

    При выборе по хоткею ExitCode устанавливается в нужное значение в функции VMenu::CheckKeyHiOrAcc() и ставится признак окончания цикла EndLoop.
    Плагин получает нотификацию DN_LISTHOTKEY из VMenu::ProcessKey(). Т.к. плагин в нормальной ситуации вернул false, то код возвращающий позицию в
    предыдущее значение не отрабатывает.
    После этого в VMenu::DisplayObject() ExitCode сбрасывается в -1.
    Далее в Dialog::SelectFromComboBox() цикл обработки Комбобокса завершается, происходит получение позиции "Dest=ComboBox->Modal::GetExitCode();",
    которое уже равно -1 ==> отрабатывает "ComboBox->SetSelectPos(OriginalPos,0);" (плагину про это не сообщается).

    Вторая проблема - плагин в ответ на DN_LISTHOTKEY вернул true.
    Здесь нужно уточнять Писание, т.к. фразы "TRUE - плагин сам отработал событие." для понимания сути маловато будет :-)

--------------------------------------------------------------------------------
drkns 2012-03-04 21:22:30+02:00 - build 2519

1. Correction of 2517.

--------------------------------------------------------------------------------
drkns 2012-03-04 16:26:41+02:00 - build 2518

1. A typo in 2453.

--------------------------------------------------------------------------------
drkns 2012-03-04 14:08:07+02:00 - build 2517

1. Continuation of 2488 - groups can contain other groups.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 2488 - группы могут содержать другие группы.

--------------------------------------------------------------------------------
drkns 2012-03-02 23:46:55+02:00 - build 2516

1. Correction of 2515.1.

--------------------------------------------------------------------------------
drkns 2012-03-02 13:58:31+02:00 - build 2515

1. A new command in FSF.ProcessName: PN_CHECKMASK - check validity of a mask. Also, a new flag: PN_SHOWERRORMESSAGE - show error messages.

2. Microsoft has played a dirty trick by adding PS_PAUSED to shobjidl.h, so constants form PROGRESSTATE have TBPS_ prefix now.

3. MSVC 11 compatibility.

4. Rudiments of ARM build.

5. Completion of STACKBOOKMARK -> SESSIONBOOKMARK.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Новая команда в FSF.ProcessName: PN_CHECKMASK - проверить валидность маски. Там же новый флаг: PN_SHOWERRORMESSAGE - показывать сообщения при неудаче.

2. Microsoft подложил нам свинью, добавив PS_PAUSED в shobjidl.h, поэтому константы из PROGRESSTATE теперь с префиксом TBPS_.

3. Совместимость с MSVC 11.

4. Зачатки ARM-сборки.

5. Завершение STACKBOOKMARK -> SESSIONBOOKMARK.

--------------------------------------------------------------------------------
svs 2012-03-02 09:16:43+04:00 - build 2514

1. correction of build 2508

2. Mantis#0002037: Garbage in MCTL_GETLASTERROR

3. Mantis#0002039: Auto-starting macro recording bug

4. Mantis#0002040: Ctrl. Ctrl. <key> Yes ShiftF9 does not delete a macro

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение build 2508

2. Mantis#0002037: Мусор в MCTL_GETLASTERROR

3. Mantis#0002039: Глюк записи автостартующего макроса

4. Mantis#0002040: Ctrl. Ctrl. <key> Yes ShiftF9 не удаляет макрос

--------------------------------------------------------------------------------
drkns 2012-03-02 00:25:26+02:00 - build 2513

1. Mantis#0002038 File panel highlighting is disabled with a clean profile

2. FSF.ProcessName(PN_CMPNAMELIST) is now "complete" and capable of all Far features.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002038 На чистом профиле не включается раскраска файлов панели

2. FSF.ProcessName(PN_CMPNAMELIST) теперь "полноценный" и умеет всё то же, что и Far.

--------------------------------------------------------------------------------
w17 2012-03-01 22:14:13+04:00 - build 2512

1. correction of 2511 - getting rid of AI

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 2511 - избавляемся от интеллекта

--------------------------------------------------------------------------------
w17 2012-03-01 19:16:09+04:00 - build 2511

1. some AI when making a decision of saving file encoding

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. немного интеллекта при принятии решения о сохранении кодировки файла

--------------------------------------------------------------------------------
w17 2012-03-01 18:12:05+04:00 - build 2510

1. MinGW gcc 4.5 build fixed

--------------------------------------------------------------------------------
w17 2012-03-01 17:30:51+04:00 - build 2509

1. continuation of 2504

--------------------------------------------------------------------------------
drkns 2012-03-01 12:42:56+02:00 - build 2508

1. from svs: correction of build 2507.

--------------------------------------------------------------------------------
drkns 2012-03-01 11:46:15+02:00 - build 2507

1. from svs: macros stopped running if the macro sequence ended with callplugin

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. from svs: Переставали работать макросы, если последним в макропоследовательности был callplugin

--------------------------------------------------------------------------------
w17 2012-03-01 12:37:57+04:00 - build 2506

1. fixing text displaying after search for long lines/NO_WRAP/found=startline

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. фикс отображения текста после поиска для длинных строк/NO_WRAP/found=startline

--------------------------------------------------------------------------------
svs 2012-03-01 09:13:01+04:00 - build 2505

1. matching editor bookmarks STACKBOOKMARK -> SESSIONBOOKMARK
   (from samlyukov)
   http://forum.farmanager.com/viewtopic.php?p=85114#p85114

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. приведение в соответствие закладок редактора STACKBOOKMARK -> SESSIONBOOKMARK
   (from samlyukov)
   http://forum.farmanager.com/viewtopic.php?p=85114#p85114

--------------------------------------------------------------------------------
w17 2012-03-01 02:24:47+04:00 - build 2504

1. if a database was not opened 'normally' Finalize() is done for each of its stmtXXXX,
   else it cannot be closed nor renamed correctly

2. show Far database names (not plugins' ones) which have been opened 'abnormally' at startup

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. если база не открыта 'штатно' делаем Finalize() для всех её stmtXXXX,
   иначе она корректно не закрывается и не переименовывается

2. показываем имена баз фара (не плагинов), которые открыты 'нештатно' после стартапа

--------------------------------------------------------------------------------
w17 2012-02-29 17:05:06+04:00 - build 2503

1. a typo crashed the viewer when reverse search was performed

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. опечатка, валившая вьювер при обратном поиске текста

--------------------------------------------------------------------------------
svs 2012-02-29 16:52:09+04:00 - build 2502

1. Clipboard::InternalCopy() is added.
   It copies binary data between inner and system clipboards.
   It is used in clip(3|4) macrofunction.

2. Clipboard::CopyHDROP() is given an ability of work with things other than the system clipboard.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Добавлена Clipboard::InternalCopy().
   Бинарно копирует данные между внутренним и системным буферами обмена.
   Применена в макрофункции clip(3|4)

2. В Clipboard::CopyHDROP() добавлена возможность работы не только с системным буфером.

--------------------------------------------------------------------------------
drkns 2012-02-29 13:55:44+02:00 - build 2501

1. A couple of minor issues.

--------------------------------------------------------------------------------
svs 2012-02-29 12:41:31+04:00 - build 2500

1. Continuation of 2498.
   Removing KeyMacros.CallPluginRules from the configuration in favor of mmode(3)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 2498.
   Удаляем из конфига KeyMacros.CallPluginRules в пользу mmode(3)

--------------------------------------------------------------------------------
drkns 2012-02-29 09:42:16+02:00 - build 2499

1. Continuation of 2493.

--------------------------------------------------------------------------------
svs 2012-02-29 10:53:34+04:00 - build 2498

1. Macro: mmode function is appended with Action = 3 (CallPluginEnableMacro)
   It lets enabling/disabling macros when the plugin is invoked with CallPlugin macrofunction.
     mmode(3,0) - disable
     mmode(3,1) - enable
     mmode(3,2) - switch the mode (swap)
   The previous value is returned.
   It influences the current macro sequence only.
   By default it is disabled.

   For example, let's draw in editor a small rectangle with DrawLine
   mmode(3,1) callplugin("C941E865-9C29-485C-99B3-0C710940F2D8","ShiftRight ShiftRight ShiftDown ShiftDown ShiftLeft ShiftLeft ShiftUp ShiftUp ShiftRight Esc")

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: у функции mmode добавлен Action = 3 (CallPluginEnableMacro)
   Позволяет разрешать/запрещать макросы при вызове плагина макфункцией CallPlugin.
     mmode(3,0) - запретить
     mmode(3,1) - разрешить
     mmode(3,2) - менять режим (swap)
   Возвращает предыдущее значение.
   Имеет влияние только на текущеую макропоследовательность.
   По умолчанию запретить.

   Например, в редакторе рисуем с помощью DrawLine рисуем небольшой прямоугольник
   mmode(3,1) callplugin("C941E865-9C29-485C-99B3-0C710940F2D8","ShiftRight ShiftRight ShiftDown ShiftDown ShiftLeft ShiftLeft ShiftUp ShiftUp ShiftRight Esc")

--------------------------------------------------------------------------------
drkns 2012-02-28 16:57:48+02:00 - build 2497

1. Continuation of 2493.

--------------------------------------------------------------------------------
w17 2012-02-28 14:09:10+04:00 - build 2496

1. gcc build fix

--------------------------------------------------------------------------------
drkns 2012-02-27 21:09:02+02:00 - build 2495

1. Continuation of 2493 - using IFileIsInUse interface (benefits: ability of switching to locking app, ability of closing the file remotely).

2. Corrections in Message dialog sizing: now buttons must be fitting the borders.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 2493 - задействуем еще и интерфейс IFileIsInUse (плюшки: возможность переключиться в блокирующее приложение, возможность удаленно закрыть файл).

2. Уточнения в подборе размера диалога для Message - теперь кнопки не должны вылезать за пределы диалога.

--------------------------------------------------------------------------------
drkns 2012-02-26 23:36:01+02:00 - build 2494

1. Correction of 2493.

--------------------------------------------------------------------------------
drkns 2012-02-26 22:28:58+02:00 - build 2493

1. If a file deletion attempt fails due to the file being locked by another process, now it is possible to find out the name of the process in some cases.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При неудачной попытке удаления файла, заблокированного другим процессом, теперь, в некоторых случаях, можно узнать имя этого процесса.

--------------------------------------------------------------------------------
drkns 2012-02-26 10:40:09+02:00 - build 2492

1. Continuation of 2488 - a group can be a regular expression.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 2488 - группа может являться регулярным выражением.

--------------------------------------------------------------------------------
drkns 2012-02-25 20:10:24+02:00 - build 2491

1. A typo in 2470.

--------------------------------------------------------------------------------
drkns 2012-02-24 21:11:56+02:00 - build 2490

1. Optimization and simplification of lng reader.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Оптимизация и упрощение lng-читалки.

--------------------------------------------------------------------------------
drkns 2012-02-24 14:57:54+02:00 - build 2489

1. Continuation of 2488.

--------------------------------------------------------------------------------
drkns 2012-02-24 14:27:51+02:00 - build 2488

1. New entity: "file mask groups" (Options - Groups of file masks).
   An arbitrary amount of file masks can form a named group.
   The name of the group in angle brackets ("<name>") can be used anywhere along with masks themselves.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Новая сущность: "группы масок файлов" (Options - Groups of file masks).
   Произвольное количество масок файлов можно объединить в группу и присвоить ей имя.
   В дальнейшем имя группы, заключенное в угловые скобки ("<имя>"), может использоваться везде, где могут использоваться сами маски.

--------------------------------------------------------------------------------
svs 2012-02-23 14:18:24+04:00 - build 2487

1. Correction of 2486

--------------------------------------------------------------------------------
svs 2012-02-23 09:44:26+04:00 - build 2486

1. Mantis#0000466: Extension of macro language with plugins
   Next step.
   Quite a bit is left to completion :-)
   It is supposed that plugincache.will contain a cache for macro function names
   provided by plugin (the format is the same as for prefixes): in order to skip loading plugins having
   ProcessMacroW() at start and loading macros.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000466: Расширение макроязыка плагинами
   Next step.
   До завершения осталось чуть-чуть :-)
   Предполагается, что в plugincache.db будут кешироваться имена макрофункций,
   предоставляемые плагином (формат как у префиксов): чтобы при старте и загрузке макросов
   не дергать плагины, имеющих ProcessMacroW().

--------------------------------------------------------------------------------
drkns 2012-02-22 22:23:30+02:00 - build 2485

1. in 1881, buffer cleaning with CopyToClipboard(0) was broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. в 1881 сломалась очистка буфера по CopyToClipboard(0).

--------------------------------------------------------------------------------
zg 2012-02-22 18:58:03+02:00 - build 2484

1. correction of 2458. OPEN_FROMMACRO in PluginManager::CallPlugin.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 2458. OPEN_FROMMACRO в PluginManager::CallPlugin.

--------------------------------------------------------------------------------
zg 2012-02-22 18:45:43+02:00 - build 2483

1. 0001410: Add a flag into OpenFilePluginW for archive operations recognition (ShiftF3)
   OPM_COMMANDS flag is added.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0001410: Добавить флаг в OpenFilePluginW для распознавания архивных операций (ShiftF3)
   добавлен флаг OPM_COMMANDS.

--------------------------------------------------------------------------------
zg 2012-02-22 17:21:14+02:00 - build 2482

1. 0002031: Automatic indentation does not inform plugins about line changed

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0002031: Автоотступ не извещает плагины об изменении строки

--------------------------------------------------------------------------------
drkns 2012-02-22 16:58:37+02:00 - build 2481

1. Inner rearrangement.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Внутренние перетасовки и упорядочивания.

--------------------------------------------------------------------------------
zg 2012-02-21 19:51:28+02:00 - build 2480

1. 0001972: ShiftHome and editor.sel(0,2)

2. macro editing dialog is provided with history for sequence and description.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0001972: ShiftHome и editor.sel(0,2)

2. в диалоге редактирования макроса добавлена история для последовательности и описания.

--------------------------------------------------------------------------------
zg 2012-02-21 16:14:47+02:00 - build 2479

1. FSSF_EDITOR is added. with "WordDiv" one can get the system's list of separators.
   ACTL_GETSYSWORDDIV will be deleted in the nearest future.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. добавлена FSSF_EDITOR. по "WordDiv" можно получить системный список список разделителей.
   ACTL_GETSYSWORDDIV будет удалён в ближайшее время.

--------------------------------------------------------------------------------
zg 2012-02-21 04:40:45+02:00 - build 2478

1. continuation of 2328. now the names of the settings match those in DB.
   FSSF_SYSTEM and FSSF_PANEL are added.
   one can examine what is available by now in config.cpp::CFG.
   ACTL_GETSYSTEMSETTINGS, ACTL_GETPANELSETTINGS, ACTL_GETINTERFACESETTINGS, ACTL_GETCONFIRMATIONS,
   ACTL_GETPLUGINMAXREADDATA and ACTL_GETDIALOGSETTINGS will be deleted in the nearest future.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. продолжение 2328. имена настроек теперь совпадают с именем этих настроек в базе.
   добавлены FSSF_SYSTEM и FSSF_PANEL.
   посмотреть, что отдаётся на текущий момент можно в config.cpp::CFG.
   ACTL_GETSYSTEMSETTINGS, ACTL_GETPANELSETTINGS, ACTL_GETINTERFACESETTINGS, ACTL_GETCONFIRMATIONS,
   ACTL_GETPLUGINMAXREADDATA и ACTL_GETDIALOGSETTINGS будут удалены в ближайшее время.

--------------------------------------------------------------------------------
w17 2012-02-20 23:34:49+04:00 - build 2477

1. Calling convention mismatch (yet another typo?)

--------------------------------------------------------------------------------
drkns 2012-02-20 10:42:54+02:00 - build 2476

1. Another typo.

--------------------------------------------------------------------------------
drkns 2012-02-20 03:15:12+02:00 - build 2475

1. A typo in 2474.

--------------------------------------------------------------------------------
drkns 2012-02-20 02:17:59+02:00 - build 2474

1. Rolling back 2470.2 so far - there are some issues.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Отменим пока 2470.2 - "есть нюансы".

--------------------------------------------------------------------------------
drkns 2012-02-19 21:52:01+02:00 - build 2473

1. And one more time.

--------------------------------------------------------------------------------
drkns 2012-02-19 21:49:02+02:00 - build 2472

1. Correction of 2470.

--------------------------------------------------------------------------------
drkns 2012-02-19 21:18:57+02:00 - build 2471

1. Mantis#0002028: Editor Search [All] - the menu treats ampersands as hotkeys

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002028: Editor Search [All] - меню трактует амперсенды как хоткеи

--------------------------------------------------------------------------------
drkns 2012-02-19 20:23:52+02:00 - build 2470

1. All functions provided to plugins are gathered now in plugapi/pluginA, rather than scattered all over the sources.

2. Ibid - added a "protection" of calling from secondary threads to where it is disallowed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Все предоставляемые плагинам функции теперь находятся в plugapi/pluginA, а не равномерно размазаны по коду.

2. Там же - добавлена "защита" от вызова из неосновных нитей туда, где так делать нельзя.

--------------------------------------------------------------------------------
svs 2012-02-19 14:51:36+04:00 - build 2469

1. Mantis#0002026: after clip(1,""), clipboard is not cleared

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002026: при clip(1,"") буфер обмена не опустошается

--------------------------------------------------------------------------------
zg 2012-02-17 20:42:35+02:00 - build 2468

1. correction of 2460.1.

--------------------------------------------------------------------------------
drkns 2012-02-17 19:36:26+02:00 - build 2467

1. Correct handling of situation of "plugin trying to unload itself".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Корректно обрабатываем ситуацию "шибко умный плагин пытается выгрузить сам себя".

--------------------------------------------------------------------------------
svs 2012-02-17 15:18:14+04:00 - build 2466

1. $TextFooBar is not an error, although $FooBar is.

   The show-stopper is macro.cpp::KeyNameMacroToKey(). StrCmpNI is unnecessary there, StrCmpI is enough

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. $TextFooBar - не ошибка. А $FooBar - ошибка.

   Виноват macro.cpp::KeyNameMacroToKey(). StrCmpNI там лишний, вполне достаточно StrCmpI

--------------------------------------------------------------------------------
drkns 2012-02-17 11:05:50+02:00 - build 2465

1. Correction of 2463.

--------------------------------------------------------------------------------
svs 2012-02-17 09:38:04+04:00 - build 2464

1. Macro: env function got 2 optional parameters:
   S=Env(S[,Mode[,Value]])
     S - the name of an environment variable
     Mode:
        0 - get
        1 - set
     Value - the value

   For Mode=1, the previous value of S variable is returned

   Examples:
     1. Get the value of the environment variable Foo
        Env("Foo")
        Env("Foo",0)
        Env("Foo",0,whatever)
        Env("Foo",,whatever)
     2. Set the value of the environment variable Foo to "bar"
        Env("Foo",1,"Bar")
     3. Remove the environment variable Foo
        Env("Foo",1)
        Env("Foo",1,"")
     4. Set the value of the environment variable Foo to "0"
        Env("Foo",1,"0")
        Env("Foo",1,0)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: у функции env появилось 2 необязательных.параметра:
   S=Env(S[,Mode[,Value]])
     S - имя переменной среды
     Mode - режим
        0 - get
        1 - set
     Value - значение

   Для Mode=1 возвращает предыдущее значение переменной среды S

   Примеры:
     1. Получить значение переменной среды Foo
        Env("Foo")
        Env("Foo",0)
        Env("Foo",0,пофигучто)
        Env("Foo",,пофигучто)
     2. Установить значение переменной среды Foo в "bar"
        Env("Foo",1,"Bar")
     3. Удалить переменную среды Foo
        Env("Foo",1)
        Env("Foo",1,"")
     4. Установить значение переменной среды Foo в "0"
        Env("Foo",1,"0")
        Env("Foo",1,0)

--------------------------------------------------------------------------------
drkns 2012-02-16 13:11:18+02:00 - build 2463

1. Clearer representation of colors and file highlighting in xml.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Более наглядное представление цветов и раскраски файлов в xml.

--------------------------------------------------------------------------------
zg 2012-02-16 04:04:19+02:00 - build 2462

1. Now AnalyseW returns HANDLE. if the plugin does not accept the file, INVALID_HANDLE_VALUE must be returned. any other value tells FAR that the file is accepted.
   if eventually the plugin gets OpenW(OPEN_ANALYSE,...) then OpenAnalyseInfo.Handle will be equal to the value returned by AnalyseW.
   else CloseAnalyseW is passed, where CloseAnalyseInfo.Handle is also equal to the value returned by AnalyseW.
   plugins making use of AnalyseW will work incorrectly.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. AnalyseW теперь возвращает HANDLE. если файл не понравился плагину, надо вернуть INVALID_HANDLE_VALUE. любое другое значение говорит фару, что файл плагину понравился.
   если в итоге плагину приходит OpenW(OPEN_ANALYSE,...), то OpenAnalyseInfo.Handle будет равно значению возвращённому AnalyseW.
   иначе приходит CloseAnalyseW, где значение CloseAnalyseInfo.Handle тоже равно значению возвращённому AnalyseW.
   плагины, использующие AnalyseW будут работать некорректно.

--------------------------------------------------------------------------------
drkns 2012-02-15 22:28:03+02:00 - build 2461

1. Colors configuration moved from generalconfig.db to colors.db.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Настройка цветов вынесена из generalconfig.db в colors.db.

--------------------------------------------------------------------------------
zg 2012-02-15 04:49:56+02:00 - build 2460

1. reworking of macro functions. now all parameters are optional and there's an unlimited count of parameters.
   excessive parameters are calculated but unused.

2. callplugin can accept any number of parameters. OpenMacroInfo is changed. Count is the count of passed parameters.
   Values is a pointer to the array of parameters values.
   plugins making use of OPEN_FROMMACRO will work incorrectly.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. переделка работы функций в макроязыке. теперь все параметры всех функций опциональны и параметров может быть сколько угодно.
   лишние параметры вычисляются, но не используются.

2. в callplugin теперь можно передавать сколько угодно параметров. OpenMacroInfo изменена. Count - количество переданных параметров.
   Values - указатель на массив значений параметров.
   плагины, использующие OPEN_FROMMACRO будут работать некорректно.

--------------------------------------------------------------------------------
drkns 2012-02-14 13:19:07+02:00 - build 2459

1. Another correction of 2452.1.

--------------------------------------------------------------------------------
zg 2012-02-14 03:46:37+02:00 - build 2458

1. OPEN_FROMMACRO_MASK and OPEN_FROMMACROSTRING are removed. macro area identifier in least significant word is removed, there's MCTL_GETAREA for that.
   OPEN_FROMMACRO got new meaning.
   OpenInfo.Data receives a pointer to OpenMacroInfo. accordingly, one can distinguish situation without a parameter from passing a floating point number.
   plugins making use of OPEN_FROMMACRO will work incorrectly.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. убраны OPEN_FROMMACRO_MASK и OPEN_FROMMACROSTRING. убран идентификатор макрообласти в младшем слове. для этого есть MCTL_GETAREA.
   у OPEN_FROMMACRO новое значение.
   в OpenInfo.Data приходит указатель на OpenMacroInfo. соответственно можно отличать ситуацию без параметра и передачу числа с плавающей точкой.
   плагины, использующие OPEN_FROMMACRO будут работать некорректно.

--------------------------------------------------------------------------------
zg 2012-02-14 01:32:13+02:00 - build 2457

1. gcc warnings.

--------------------------------------------------------------------------------
drkns 2012-02-13 23:14:58+02:00 - build 2456

1. Continuation of 2455.

--------------------------------------------------------------------------------
drkns 2012-02-13 19:45:37+02:00 - build 2455

1. Correction of white space displaying.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение отображения white space.

--------------------------------------------------------------------------------
drkns 2012-02-13 18:35:36+02:00 - build 2454

1. Correction of 2452.1

--------------------------------------------------------------------------------
drkns 2012-02-13 15:34:21+02:00 - build 2453

1. Eliminating printf-style format strings in language files.
   Now there are "insertions" instead: %1, %2, %3 etc.
   Insertions can be changed places (for languages with another word order in sentences).

2. "Search for all occurrences" in the editor does search from the beginning of a file.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Истребляем printf-style форматные строки в языковых файлах.
   Вместо них теперь "вставки": %1, %2, %3 и так далее.
   Вставки можно менять местами (привет языкам с другой логикой построения предложений).

2. "Поиск всех вхождений" в редакторе ищет с начала файла.

--------------------------------------------------------------------------------
drkns 2012-02-12 19:34:30+02:00 - build 2452

1. The search dialog in editor is provided with "All" button - search for all occurrences.

2. TechInfo #18 (EditorF7Rules) is now 0 by default.

3. Ctrl-A ("select all") combination is available in input lines.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В диалоге поиска в редакторе добавлена кнопка "All" - поиск всех вхождений.

2. TechInfo #18 (EditorF7Rules) теперь по умолчанию 0.

3. В строках ввода работает комбинация Ctrl-A ("выделить всё").

--------------------------------------------------------------------------------
zg 2012-02-12 15:26:20+02:00 - build 2451

1. correction of 2443.

--------------------------------------------------------------------------------
drkns 2012-02-11 20:13:59+02:00 - build 2450

1. A couple of typos in 2449.

--------------------------------------------------------------------------------
zg 2012-02-11 15:12:15+02:00 - build 2449

1. DM_GETDLGITEM returns the history and mask name copies, instead of the reference to inner data.

2. DM_SETDLGITEMSHORT does not set the history name and the mask.

3. DM_GETDLGITEMSHORT does not return the history name and the mask.

4. DN_EDITCHANGE/DN_DRAWDLGITEM accepts the copy of dialog item information in Param2.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. DM_GETDLGITEM возвращает копии имени истории и маски, а не ссылку на внутренние данные.

2. DM_SETDLGITEMSHORT не устанавливает имя истории и маску.

3. DM_GETDLGITEMSHORT не возвращает имя истории и маску.

4. DN_EDITCHANGE/DN_DRAWDLGITEM в Param2 передаётся копия на данные об элементе диалога.

--------------------------------------------------------------------------------
zg 2012-02-09 21:01:34+02:00 - build 2448

1. experimental: ECTL_INSERTTEXT is aware of '\n'. the line is added taking "Auto indent" setting into account, as opposed to '\r'.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. экспериментально: ECTL_INSERTTEXT понимает '\n'. строка добавляется в отличии от '\r' с учётом настройки "Auto indent".

--------------------------------------------------------------------------------
drkns 2012-02-09 16:45:52+02:00 - build 2447

1. In 2432, empty files copying was broken.

2. Mantis#0002017: FAR does not display the contents of WM "common folders"

3. Restoring the command line after CtrlG.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В 2432 погнулось копирование пустых файлов.

2. Mantis#0002017: Фар не отображает содержимое «общих папок» WM

3. Восстанавливаем комстроку после CtrlG.

--------------------------------------------------------------------------------
drkns 2012-02-08 20:15:12+02:00 - build 2446

1. Correction of plugins unloading.

--------------------------------------------------------------------------------
drkns 2012-02-08 18:45:54+02:00 - build 2445

1. Correction of plugins unloading.

--------------------------------------------------------------------------------
drkns 2012-02-08 16:43:20+02:00 - build 2444

1. Correction of plugins unloading.

--------------------------------------------------------------------------------
zg 2012-02-08 02:03:12+02:00 - build 2443

1. In the case of plugin statically importing dll located in %FARHOME%, %FARHOME% absent in %PATH% and FAR launched from another folder, the plugin was not loaded.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. в ситуации, когда плагин статически импортирует dll, расположенную в %FARHOME%, %FARHOME% отсутствует в %PATH% и фар запущен не из своей папки, плагин не загружался.

--------------------------------------------------------------------------------
zg 2012-02-07 02:49:54+02:00 - build 2442

1. correction of 2439.1 and 2439.2 for the wrapper.

2. ProcessViewerEvent and ProcessEditorEvent of ANSI plugins are passed only those events that exist in FAR 1.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 2439.1 и 2439.2 для враппера.

2. в ProcessViewerEvent и ProcessEditorEvent анси плагинов отправляются только события, которые были в первом фаре.

--------------------------------------------------------------------------------
zg 2012-02-07 01:20:05+02:00 - build 2441

1. continuation of 2435. the screen was not always redrawn.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. продолжение 2435. не всегда перерисовывался экран.

--------------------------------------------------------------------------------
zg 2012-02-06 23:05:23+02:00 - build 2440

1. correction of 2439.1 and 2439.2.

--------------------------------------------------------------------------------
zg 2012-02-06 22:39:15+02:00 - build 2439

1. ProcessEditorEventInfo is appended with EditorID field.
   accordingly, EE_GOTFOCUS, EE_KILLFOCUS and EE_CLOSE have Param equal to NULL.
   plugins using these events will work incorrectly.

2. ProcessViewerEventInfo is appended with ViewerID field.
   accordingly VE_GOTFOCUS, VE_KILLFOCUS and VE_CLOSE have Param equal to NULL.
   plugins using these events will work incorrectly.

3. correction of 2438.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. в ProcessEditorEventInfo добавлено поле EditorID.
   соответственно у EE_GOTFOCUS, EE_KILLFOCUS и EE_CLOSE Param равен NULL.
   плагины, использующие эти события будут работать некорректно.

2. в ProcessViewerEventInfo добавлено поле ViewerID.
   соответственно у VE_GOTFOCUS, VE_KILLFOCUS и VE_CLOSE Param равен NULL.
   плагины, использующие эти события будут работать некорректно.

3. уточнение 2438.

--------------------------------------------------------------------------------
zg 2012-02-06 21:16:55+02:00 - build 2438

1. EE_CHANGE event is added for the editor. It is sent when text is changed in the editor. Param is the pointer to EditorChange.
   EditorChange.Type - the type of the event: the line has changed, added or removed.
   EditorChange.StringNumber - the number of changed/added/removed line.
   EditorControl called from this event returns FALSE.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. для редактора добавлено событие EE_CHANGE. Приходит, когда в редакторе изменился текст. Param - указатель на EditorChange.
   EditorChange.Type - тип события: строка изменилась, добавилась или удалилась.
   EditorChange.StringNumber - номер изменившейся, добавленной или удалённой строки.
   EditorControl вызванная из этого события вернёт FALSE.

--------------------------------------------------------------------------------
drkns 2012-02-06 15:56:52+02:00 - build 2437

1. Correction of 2428.

2. "[ ] Clear R/O attribute from CD files" option is removed, the attribute is always reset. FSS_CLEARROATTRIBUTE is removed too.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 2428.

2. Опции "[ ] Clear R/O attribute from CD files" больше нет, атрибут снимается всегда. FSS_CLEARROATTRIBUTE тоже нет.

--------------------------------------------------------------------------------
w17 2012-02-06 16:23:04+04:00 - build 2436

1. debug build recovered

2. cosmetic

--------------------------------------------------------------------------------
zg 2012-02-06 01:56:06+02:00 - build 2435

1. EEREDRAW_CHANGE and EEREDRAW_LINE events are removed. EEREDRAW_ALL is always sent.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. события EEREDRAW_CHANGE и EEREDRAW_LINE убраны. всегда приходит EEREDRAW_ALL.

--------------------------------------------------------------------------------
drkns 2012-02-04 23:56:49+02:00 - build 2434

1. More stuff on crashes when unloading plugins.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё всякое на тему падений при выгрузке плагинов.

--------------------------------------------------------------------------------
drkns 2012-02-04 17:37:35+02:00 - build 2433

1. As it turned out, plugin unloading on exception always crashed FAR.
   On the side, crashes at unloading plugins opened on a panel must have been fixed.

2. Mantis#0002011: Cannot open a shared client volume in a terminal session.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Как выяснилось, выгрузка плагина при исключительной ситуации всегда валила следом и фар.
   Попутно должны прекратиться падения при выгрузке плагинов, открытых в данный момент на панели.

2. Mantis#0002011: Не получается зайти на расшаренный клиентский диск в терминальной сесии.

--------------------------------------------------------------------------------
drkns 2012-02-03 21:43:07+02:00 - build 2432

1. "Correct" wiping of sparse files - allocated parts are the only ones wiped.

2. In connection with #1, - simplification of similar code in the copier. It needs checking whether nothing is broken :)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. "Правильный" вайп sparse-файлов - вайпаются только аллоцированные участки.

2. В связи с п. 1 - упрощение аналогичного кода в копире. Надо проверить, ничего ли не отпало :)

--------------------------------------------------------------------------------
w17 2012-02-02 12:44:18+04:00 - build 2431

1. Continuation of Mantis#1953

2. Fixed 'set /?'

--------------------------------------------------------------------------------
drkns 2012-02-01 20:20:46+02:00 - build 2430

1. In 2427, EOL glyphs were misplaced.

2. Warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В 2427 были попутаны местами глифы для отображения концов строк.

2. Warnings.

--------------------------------------------------------------------------------
zg 2012-02-01 12:58:16+02:00 - build 2429

1. rollback of 2427.1 because ACTL_GETWINDOWINFO and WindowInfo.Id already exist.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. откат 2427.1 так как есть ACTL_GETWINDOWINFO и WindowInfo.Id.

--------------------------------------------------------------------------------
drkns 2012-01-31 22:22:18+02:00 - build 2428

1. Correct console mode is forced after plugin functions calls.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. После вызова плагиновых функций принудительно устанавливается правильный режим консоли.

--------------------------------------------------------------------------------
drkns 2012-01-31 13:32:28+02:00 - build 2427

1. Mantis#0001179: API needed for obtaining the handle of the current dialog.
   ACTL_GETCURRENTWINDOW command is added. If a dialog is opened then its handle is returned, 0 otherwise.

2. "[ ] Show white space" checkbox in editor settings is 3-state now: [?] - show spaces, tabulation and EOF, [x] - show also EOL.
   In API - EOPT_SHOWLINEBREAK, ESPT_SHOWWHITESPACE(1|2)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001179: Нужен АПИ для получения хендла текущего диалога.
   Добавлена команда ACTL_GETCURRENTWINDOW. Если сейчас открыт диалог - вернется хендл, иначе - 0.

2. Чекбокс "[ ] Show white space" в настройках редактора теперь 3-позиционный: [?] - отображать пробелы, табуляции и EOF, [x] - отображать еще и EOL.
   В апи - EOPT_SHOWLINEBREAK, ESPT_SHOWWHITESPACE(1|2)

--------------------------------------------------------------------------------
w17 2012-01-28 23:07:20+04:00 - build 2426

1. Mantis#2000 - XML Error (0,0) -- half step back

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#2000 - XML Error (0,0) -- полшага назад

--------------------------------------------------------------------------------
t-rex 2012-01-28 19:03:49+02:00 - build 2425

1. PCTL_FINDPLUGIN with PFM_MODULENAME can work with relative paths now.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. PCTL_FINDPLUGIN с PFM_MODULENAME теперь умеет работать с относительными путями.

--------------------------------------------------------------------------------
drkns 2012-01-27 22:21:21+02:00 - build 2424

1. Correction of PCTL_GETPLUGININFORMATION.

--------------------------------------------------------------------------------
drkns 2012-01-27 19:46:03+02:00 - build 2423

1. Mantis#0002002: Far3 cannot enter folders on CD-ROM discs.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002002: Far3 не хочет входить в папки на CD-ROM дисках.

--------------------------------------------------------------------------------
drkns 2012-01-27 17:01:23+02:00 - build 2422

1. Mantis#0002005: Network shares are inaccessible.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002005: Невозможен переход на сетевые ресурсы.

--------------------------------------------------------------------------------
svs 2012-01-27 18:17:51+04:00 - build 2421

1. Removing dependency of plugin.hpp and frame.hpp (WTYPE_* and MODALTYPE_*)

2. Mantis#0001999: Delegate FileSizeToStr() function to plugins
   FSF is appended with FormatFileSize() function
   (analogous to Size2Str in macros)

   size_t WINAPI FormatFileSize(unsigned __int64 Size, int Width, FARFORMATFILESIZEFLAGS Flags, wchar_t *Dest, size_t DestSize);

   Here:
     Size       - formatting size
     Width      - required width. -1 - "as much as possible". negative value allows left indentation
     Flags      - one of the following values defined in FARFORMATFILESIZEFLAGS:
         FFFS_COMMAS            Insert the separator between thousands
         FFFS_FLOATSIZE         Show file size Windows Explorer style (i.e. 999 bytes are shown as 999, while 1000 bytes are shown as 0.97 K)
         FFFS_SHOWBYTESINDEX    Show B,K,M,G,T,P,E suffixes
         FFFS_ECONOMIC          Economy mode, a space before file size suffix is not shown (i.e. 0.97K)
         FFFS_THOUSAND          Use 1000 divisor instead of 1024
         FFFS_MINSIZEINDEX      Minimal index allowed at formatting
                                The index is specified in the least significant byte and can take values 0, 1, 2 or 3 (K,M,G,T),
                                For example, 1 - "size is at least in megabytes"
     Dest       - destination buffer
     DestSize   - how many characters "fits" in Dest

   The function returns the size (with trailing 0) of the resulting string.
   Set Dest = nullptr or DestSize = 0 to get the required size.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уберем зависимость plugin.hpp и frame.hpp (WTYPE_* и MODALTYPE_*)

2. Mantis#0001999: Отдать плагинам ф-цию FileSizeToStr()
   В FSF добавлена функция FormatFileSize()
   (в макросах аналог Size2Str)

   size_t WINAPI FormatFileSize(unsigned __int64 Size, int Width, FARFORMATFILESIZEFLAGS Flags, wchar_t *Dest, size_t DestSize);

   Здесь
     Size       - размер для формативания
     Width      - требуемая ширина. -1 - "сколько есть". отрицательное значение ширины позволяет выравнивать слева
     Flags      - одно из следующих значений, определенных в FARFORMATFILESIZEFLAGS:
         FFFS_COMMAS            Вставлять разделитель между тысячами
         FFFS_FLOATSIZE         Показывать размер файла в стиле Windows Explorer (т.е. 999 байт будут показаны как 999, а 1000 байт как 0.97 K)
         FFFS_SHOWBYTESINDEX    Показывать суффиксы B,K,M,G,T,P,E
         FFFS_ECONOMIC          Экономичный режим, не показывать пробел перед суффиксом размера файла (т.е. 0.97K)
         FFFS_THOUSAND          Вместо делителя 1024 использовать делитель 1000
         FFFS_MINSIZEINDEX      Минимально допустимый индекс при форматировании
                                Индекс указывается в младшем байте и может быть только 0, 1, 2 или 3 (K,M,G,T),
                                например, 1 - "размер как минимум в мегабайтах"
     Dest       - месо назначения
     DestSize   - сколько "слить" в Dest

   Функция возвращает размер (с заключительным 0) строки, полученный после форматирования.
   Чтобы получить требуемый размер выставите параметры Dest в nullptr или DestSize в 0.

--------------------------------------------------------------------------------
drkns 2012-01-27 15:01:22+02:00 - build 2420

1. Mantis#0002000: Far.exe /export creates a file with 0A lines separator.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002000: Far.exe /export создает файл с переводом строк 0A.

--------------------------------------------------------------------------------
drkns 2012-01-27 09:58:17+02:00 - build 2419

1. PCTL_[FORCED]LOADPLUGIN now return the handle of a loaded plugin or 0 on error, as before.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. PCTL_[FORCED]LOADPLUGIN теперь возвращают хендл загруженного плагина, при неудаче - 0, как и раньше.

--------------------------------------------------------------------------------
svs 2012-01-27 09:15:50+04:00 - build 2418

1. Macro: a new macrofunction for number formatting (for example, the size of a file) - on Mantis#0001999

    S=Size2Str(Size,Flags[,Width])

   here:

    Size  - what has to be formatted
    Flags - formatting options
            0x0010000000000000 - S2S_SHOWBYTESINDEX
                                 Show suffixes:
                                    B - for bytes (also without a suffix)
                                    K - for kilobytes
                                    M - for megabytes
                                    G - for gigabytes
                                    T - for terabytes
                                    P - for petabytes
                                    E - for exabytes
            0x0800000000000000 - S2S_COMMAS
                                 Insert thousands separator
                                 "Interface/FormatNumberSeparators" configuration value is used
                                 or Windows LOCALE_STHOUSAND & LOCALE_SDECIMAL if FormatNumberSeparators is unspecified.
            0x0080000000000000 - S2S_FLOATSIZE
                                 Show file size in Windows Explorer style
                                 (i.e. 999 bytes are shown as 999, while 1000 bytes are shown as 0.97 K)
            0x0040000000000000 - S2S_ECONOMIC
                                 Economy mode, a space before file size suffix is not shown (i.e. 0.97K)
            0x0400000000000000 - S2S_THOUSAND
                                 Use 1000 divisor instead of 1024
            0x0020000000000000 - S2S_MINSIZEINDEX
                                 Minimal index allowed at formatting
                                 For example, 0x0020000000000001 - "the size is at least in megabytes"
                                 It can take values 0, 1, 2 or 3 (K,M,G,T)
    Width - formatting width (unused if 0 or unspecified)
            negative values allow left indentation:
            Size2Str(123,0, 5) ==> '  123'
            Size2Str(123,0,-5) ==> '123  '

2. Macro: a new function for text "formatting": StrWrap.
     Formatting a text to given width with the use of the separator (breaking to lines with left indentation).

     S=StrWrap(Text,Width[,Break[,Flags]])

   here:

     Text  - text to be formatted
     Width - width
     Break - separator ('\n' if empty or omitted)
     Flags - additional "formatting options
             0x1 - the line is always wrapped to given width even if there is a longer word
                  (in this cases, it is split into pieces).

   If flag 0x1 is unspecified and there is a long word then the word takes space longer than given Width.

   Examples:
      StrWrap("The example of a text split into several lines.", 6)
   returns:
       1234567
      +------+
      |The
     >|example
      |of a
      |text
      |split
      |into
     >|several
      |lines.
      +------+

   adding a flag of 1
      StrWrap("The example of a text split into several lines.", 6,,1)
   returns:
       123456
      +------+
      |The
      |exampl
      |e of a
      |text
      |split
      |into
      |severa
      |l
      |lines.
      +------+

      StrWrap("The line containing a vvvvvvvveeeeeeeerrrrrrryyy long word", 9,,0x1)
   returns:
       123456789
      +---------+
      |The line
      |containin
      |g a
      |vvvvvvvve
      |eeeeeeerr
      |rrrrryyy
      |long
      |word
      +---------+

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: новая макрофункция форматирования числа (например, размера файла) - по мотивам Mantis#0001999

    S=Size2Str(Size,Flags[,Width])

   здесь:

    Size  - что нужно преобразовать
    Flags - как форматировать число
            0x0010000000000000 - S2S_SHOWBYTESINDEX
                                 Показывать суффиксы:
                                    B - для байтов (так же без суффикса)
                                    K - для килобайтов
                                    M - для мегабайтов
                                    G - для гигабайтов
                                    T - для терабайтов
                                    P - для петабайтов
                                    E - для эксабайтов
            0x0800000000000000 - S2S_COMMAS
                                 Вставлять разделитель между тысячами
                                 Используется значение "Interface/FormatNumberSeparators" из конфига
                                 или виндовые LOCALE_STHOUSAND & LOCALE_SDECIMAL, если FormatNumberSeparators не указан.
            0x0080000000000000 - S2S_FLOATSIZE
                                 Показывать размер файла в стиле Windows Explorer
                                 (т.е. 999 байт будут показаны как 999, а 1000 байт как 0.97 K)
            0x0040000000000000 - S2S_ECONOMIC
                                 Экономичный режим, не показывать пробел перед суффиксом размера файла (т.е. 0.97K)
            0x0400000000000000 - S2S_THOUSAND
                                 Вместо делителя 1024 использовать делитель 1000
            0x0020000000000000 - S2S_MINSIZEINDEX
                                 Минимально допустимый индекс при форматировании
                                 Например, 0x0020000000000001 - "размер как минимум в мегабайтах"
                                 Может быть только 0, 1, 2 или 3 (K,M,G,T)
    Width - какую ширину задать (если не указан или равен 0, то подразумевается - "сколько получится")
            отрицательное значение ширины позволяет выравнивать слева:
            Size2Str(123,0, 5) ==> '  123'
            Size2Str(123,0,-5) ==> '123  '

2. Macro: новая функция "форматирования" текста StrWrap.
     Форматирует исходный текст по заданной ширине, используя разделительную строку (разбивает на строки с выравниваением влево).

     S=StrWrap(Text,Width[,Break[,Flags]])

   здесь:

     Text  - что форматируем
     Width - какой ширины
     Break - чем "рубить", если не указан или пустая строка, то принимается '\n'
     Flags - доп.указания к "форматированию"
             0x1 - строка всегда сворачивается по заданной ширине, даже если есть слово, которое больше заданной ширины
                  (в этом случае то оно будет разрезано на части).

   Если не указан флаг 0x1 и есть длинное слово, то такое слово займет ширину больше указанного Width.

   Примеры:
      StrWrap("Пример строки, которая будет разбита на несколько строк по ширине в 20 символов.", 7)
   вернет:
       1234567
      +-------+
      |Пример
      |строки,
      |которая
      |будет
      |разбита
      |на
     >|несколько
      |строк
      |по
      |ширине
      |в 20
     >|символов.
      +-------+

   добавив флаг 1
      StrWrap("Пример строки, которая будет разбита на несколько строк по ширине в 20 символов.", 7,,1)
   получаем:
       1234567
      +-------+
      |Пример
      |строки,
      |которая
      |будет
      |разбита
      |на
      |несколь
      |ко
      |строк
      |по
      |ширине
      |в 20
      |символо
      |в.
      +-------+

   Вызов
      StrWrap("Эта строка содержит оооооооооооооччччччччеееень длиное слово", 9,,0x1)
   вернет:
       123456789
      +---------+
      |Эта
      |строка
      |содержит
      |ооооооооо
      |ооооччччч
      |чччеееень
      |длиное
      |слово
      +---------+

--------------------------------------------------------------------------------
drkns 2012-01-26 23:03:50+02:00 - build 2417

1. Support for detection and switching off virtual CDs in Windows 8.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Поддерживаем определение и отключение виртуальных компакт-дисков в Windows 8.

--------------------------------------------------------------------------------
drkns 2012-01-26 19:37:11+02:00 - build 2416

1. Mantis#0002001: Incorrect displaying of path to virtual volume file in drive selection dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0002001: В диалоге выбора дисков неверно отображается путь к файлу виртуального диска.

--------------------------------------------------------------------------------
drkns 2012-01-26 19:11:04+02:00 - build 2415

1. On Mantis#01914:

     PCTL_GETPLUGINS: get the plugins' handles.
     Param2 - pointer to the buffer, Param1 - the size of the buffer.
     Passing 0 as Param1 or Param2 returns required size.

2. Warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. По мотивам Mantis#01914:

     PCTL_GETPLUGINS: получить хендлы плагинов.
     Param2 - указатель на буфер, Param1 - размер буфера.
     Передав 0 в качестве Param1 или Param2 можно получить требуемый размер.

2. Warnings.

--------------------------------------------------------------------------------
drkns 2012-01-26 16:11:41+02:00 - build 2414

1. On Mantis#01914:

     PCTL_FINDPLUGIN: returns the plugin's handle by name (Param2==PFM_MODULENAME) or GUID (Param2==PFM_GUID).

     PCTL_GETPLUGININFORMATION - obtain plugin's summary.
     Handle - the plugin's handle obtained with PCTL_FINDPLUGIN.
     Param1 - the size of the buffer receiving information.
     Param2 - buffer containing FarGetPluginInformation structure at its beginning.

2. PCTL_UNLOADPLUGIN is changed - now Handle must be passed a handle received with PCTL_FINDPLUGIN, Param1 and Param2 are ignored.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. По мотивам Mantis#01914:

     PCTL_FINDPLUGIN: возвращает по имени (Param2==PFM_MODULENAME) или гуиду (Param2==PFM_GUID) хендл плагина.

     PCTL_GETPLUGININFORMATION - получение суммарной информации о плагине.
     Handle - хендл плагина, полученный по PCTL_FINDPLUGIN.
     Param1 - размер буфера, в который будет помещена информация.
     Param2 - буфер, в начале которого лежит структура FarGetPluginInformation.

2. PCTL_UNLOADPLUGIN изменен - в Handle теперь надо передавать хендл, полученный по PCTL_FINDPLUGIN, Param1 и Param2 игнорируются.

--------------------------------------------------------------------------------
drkns 2012-01-26 09:46:46+02:00 - build 2413

1. Making EMenu callable from disk menu.

2. Warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Научим EMenu вызываться из меню дисков.

2. Warnings.

--------------------------------------------------------------------------------
drkns 2012-01-25 09:57:40+02:00 - build 2412

1. Wrong formatting of "short" and "named" date in panel modes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Неправильный формат "коротких" и "именованых" дат в режимах панели.

--------------------------------------------------------------------------------
drkns 2012-01-24 19:42:05+02:00 - build 2411

1. The identifiers of plugins known to FAR (so far, those are Network and EMenu) are stored in DB and can be changed if needed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Идентификаторы плагинов, "известных" фару (на сегодня это Network и EMenu) хранятся в БД и могут быть при необходимости изменены.

--------------------------------------------------------------------------------
drkns 2012-01-22 14:19:41+02:00 - build 2410

1. Correction of 2381.

--------------------------------------------------------------------------------
svs 2012-01-21 13:43:11+04:00 - build 2409

1. Mantis#0001998: MCTL_ADDMACRO is broken
   (from Maximus)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001998: Поломался MCTL_ADDMACRO
   (from Maximus)

--------------------------------------------------------------------------------
drkns 2012-01-19 21:09:33+02:00 - build 2408

1. Angle brackets (<>) around "Up", "Folder", "Symlink", "Junction" list items moved to the language files.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Угловые скобки (<>) вокруг элементов списка "Up", "Folder", "Symlink", "Junction" вынесены в языковой файл.

--------------------------------------------------------------------------------
drkns 2012-01-19 12:58:47+02:00 - build 2407

1. Mantis#0001995: During file editing some data was lost.

2. Correction of 2405.

--------------------------------------------------------------------------------
svs 2012-01-19 13:52:00+04:00 - build 2406

1. Macro: KMFLAGS_SAVEMACRO fag is added.
   If the flag is specified then a macro added with MCTL_ADDMACRO command is stored in the storage (in DB).
   Note that the storage does not contain the ecomponents of MacroAddMacro structure: Callback and Id.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: добавлен флаг KMFLAGS_SAVEMACRO.
   Если флаг указан, то макрос, добавленный командой MCTL_ADDMACRO, будет сохранен в хранилище (в базе).
   Следует учесть, что в хранилище не сохранятся компоненты структуры MacroAddMacro: Callback и Id.

--------------------------------------------------------------------------------
drkns 2012-01-19 09:07:54+02:00 - build 2405

1. closeconsolerule is gone.

--------------------------------------------------------------------------------
t-rex 2012-01-18 21:35:50+02:00 - build 2404

1. And some more refactoring in configdb.

--------------------------------------------------------------------------------
t-rex 2012-01-18 17:34:22+02:00 - build 2403

1. Making the same hotkeys for RegExp in editor and viewer search dialogs.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Сделаем один и тот же хоткей для RegExp в диалогах поиска редактора и вьювера.

--------------------------------------------------------------------------------
drkns 2012-01-17 23:24:42+02:00 - build 2402

1. Refactoring of configdb.

--------------------------------------------------------------------------------
t-rex 2012-01-17 23:07:03+02:00 - build 2401

1. Plugins can store their settings in localprofile too.
   SettingsControl(SCTL_CREATE, PSL_LOCAL)

2. shortcuts settings moved to localprofile.
   Copy shortcuts.db from %FARPROFILE% to %FARLOCALPROFILE%.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Плагины могут хранить настройки и в localprofile.
   SettingsControl(SCTL_CREATE, PSL_LOCAL)

2. Настройки shortcuts переехали в localprofile.
   Скопируйте shortcuts.db из %FARPROFILE% в %FARLOCALPROFILE%.

--------------------------------------------------------------------------------
svs 2012-01-17 16:16:32+04:00 - build 2400

1. Mantis#0001988: EF_CREATENEW does not work

--------------------------------------------------------------------------------
svs 2012-01-17 12:09:27+04:00 - build 2399

1. Mantins#0001992: Crash on F4 in F11/AltShiftF9 if all item strings are filtered out
   (from Maximus)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantins#0001992: Падение по F4 в F11/AltShiftF9 если все строки - в фильтре
   (from Maximus)

--------------------------------------------------------------------------------
zg 2012-01-17 03:18:47+02:00 - build 2398

1. 0001990: DE-locale: cannot press *.

--------------------------------------------------------------------------------
drkns 2012-01-17 00:54:25+02:00 - build 2397

1. Warnings.

--------------------------------------------------------------------------------
drkns 2012-01-17 00:19:46+02:00 - build 2396

1. sqlite 3.7.10.

--------------------------------------------------------------------------------
zg 2012-01-16 23:44:52+02:00 - build 2395

1. 0001991: Parameters of AnalyzeW. OpenInfo->Data for OPEN_ANALYSE contains a pointer for AnalyseInfo.

2. In gcc build, sqlite.c moved to the beginning so that C files are compiled before C++ ones.
   It gives compile speedup when 'make -j' is used.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0001991: Параметры AnalyzeW. OpenInfo->Data для OPEN_ANALYSE содержит указатель для AnalyseInfo.

2. в gcc сборке sqlite.c перенесён в начало и c файлы компилируются раньше c++.
   даёт выигрышь времени компиляции при использовании make -j.

--------------------------------------------------------------------------------
drkns 2012-01-16 19:08:55+02:00 - build 2394

1. History didn't work in macros.

--------------------------------------------------------------------------------
svs 2012-01-16 11:30:20+04:00 - build 2393

1. Correction of Mantis#0001972

--------------------------------------------------------------------------------
svs 2012-01-15 21:51:12+04:00 - build 2392

1. Mantis#0001989: Add Description field to Macro Settings dialog

--------------------------------------------------------------------------------
drkns 2012-01-15 19:42:10+02:00 - build 2391

1. Folder shortcuts can be named.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Для folder shortcuts можно задавать названия.

--------------------------------------------------------------------------------
drkns 2012-01-15 19:16:05+02:00 - build 2390

1. In some cases, folder shortcuts were not stored.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В некоторых случаях не сохранялись folder shortcuts.

--------------------------------------------------------------------------------
t-rex 2012-01-15 17:28:01+02:00 - build 2389

1. And 2384 once more. Now an empty line is shown in the list too.

2. ClearType configuration is on by default.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. И ещё раз 2384. Теперь пустая строка будет и показывается в списке.

2. Настройка ClearType по дефолту включена.

--------------------------------------------------------------------------------
drkns 2012-01-15 17:18:52+02:00 - build 2388

1. Mouse wheel did not work in plugin menus.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не работало мышиное колесо в плагиновых меню.

--------------------------------------------------------------------------------
t-rex 2012-01-15 13:53:19+02:00 - build 2387

1. Gosh, another error in 2384.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Охтыжблин, ещё ошибка в 2384.

--------------------------------------------------------------------------------
t-rex 2012-01-15 13:42:54+02:00 - build 2386

1. More "consequences" of Mantis#1801 - http://forum.farmanager.com/viewtopic.php?p=88686#p88686.

2. Also, some unused code is removed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё "последствия" Mantis#1801 - http://forum.farmanager.com/viewtopic.php?p=88686#p88686.

2. Заодно удалим немного неиспользуемого кода.

--------------------------------------------------------------------------------
t-rex 2012-01-15 13:09:07+02:00 - build 2385

1. Error in 2384.

--------------------------------------------------------------------------------
t-rex 2012-01-15 12:53:32+02:00 - build 2384

1. Dialogs history remembers an empty last item.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. История диалогов помнит если последний пункт был пустой.

--------------------------------------------------------------------------------
drkns 2012-01-15 11:31:09+02:00 - build 2383

1. Calling EMenu on [Shift]RightClick in a tree.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Вызываем EMenu по [Shift]RightClick и в дереве тоже.

--------------------------------------------------------------------------------
drkns 2012-01-15 11:07:08+02:00 - build 2382

1. Continuation of 2381: calling emenu in panels and on [Shift]Apps.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 2381: вызываем emenu в панелях и по [Shift]Apps.

--------------------------------------------------------------------------------
t-rex 2012-01-15 00:18:34+02:00 - build 2381

1. On RighClick or ShiftRightClick, the EMenu plugin is automatically called for a file in panels.
   On other combinations like CtrlRightClick there is selection as before.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. По RighClick или ShiftRightClick на файле в панелях автоматом вызывается плагин EMenu.
   По другим комбинациям, например CtrlRightClick будет пометка как и раньше.

--------------------------------------------------------------------------------
drkns 2012-01-14 19:30:10+02:00 - build 2380

1. Fixing 2377.1 :)

2. MacroAddMacro structure is placed in more optimal way in x64.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Починим 2377.1 :)

2. Cтруктура MacroAddMacro более оптимально размещается в x64.

--------------------------------------------------------------------------------
t-rex 2012-01-14 12:53:19+02:00 - build 2379

1. Mantis#1985: Incorrect memory calculation for MCTL_GETLASTERROR.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1985: Неправильно подсчитывается память для MCTL_GETLASTERROR.

--------------------------------------------------------------------------------
t-rex 2012-01-14 11:37:20+02:00 - build 2378

1. Not all needed StructSize were filled in the wrapper.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не все StructSize которые надо зоплнялись во враппере.

--------------------------------------------------------------------------------
t-rex 2012-01-13 20:17:07+02:00 - build 2377

1. Making "set | command" and "set > file" be passed to comspec.

2. Only first macro in xml was imported.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Сделаем чтоб "set | command" и "set > file" передавались в comspec.

2. Импортировался только первый макрос из xml.

--------------------------------------------------------------------------------
t-rex 2012-01-13 19:20:54+02:00 - build 2376

1. A minor change in API:
   MacroCheckMacroText is removed, MSSC_CHECK expects MacroSendMacroText.
   And a new command, MCTL_GETLASTERROR ->  Param1=size, Param2=MacroParseResult*.
   Needed size is returned.

2. Due to 1, potential heap corruption in the wrapper is fixed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Мелкое изменение в API:
   MacroCheckMacroText больше нет, MSSC_CHECK ожидает MacroSendMacroText.
   И новая команда, MCTL_GETLASTERROR ->  Param1=размер, Param2=MacroParseResult*.
   Возвращает требуемый размер.

2. Из за 1, исправился потенциальный хип корапшэн во враппере.

--------------------------------------------------------------------------------
svs 2012-01-13 17:47:47+04:00 - build 2375

1. Get InfoList safe from the case when a plugin calls Info.PanelControl(FCTL_REDRAWPANEL) from
   ProcessViewerEventW in response to VE_READ which causes stack overflow :-(
   The scheme is following.
   VE_READ is fairly passed to the plugin once, but because InfoPanel is constantly recreating the viewer (if diz file exists),
   then multiple VE_READ appears with all those consequences.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Обезопасим InfoList от случая, когда плагин из ProcessViewerEventW в ответ на VE_READ
   зовет Info.PanelControl(FCTL_REDRAWPANEL) - в итоге получаем переполнение стека :-(
   Схема такая.
   VE_READ честно кидается плагину 1 раз, но т.к. InfoPanel постоянно пересоздает вьювер (если есть diz-файл),
   то получаем множественное VE_READ со всеми вытекающими.

--------------------------------------------------------------------------------
w17 2012-01-13 17:45:10+04:00 - build 2374

1. gcc build recovered

--------------------------------------------------------------------------------
drkns 2012-01-13 14:24:42+02:00 - build 2373

1. Adding some StructSize checks here and there.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Добавим кое-где в api проверок StructSize.

--------------------------------------------------------------------------------
svs 2012-01-13 16:18:16+04:00 - build 2372

1. Mantis#0001982: Get FAR settings in a macro: Far.Cfg.Get
   Macro: added
    a function allowing to get common settings...
      V=Far.Cfg.Get(Key,Name)
    macro constant
      Far.Cfg.Err = 0, there was no errors after Far.Cfg.Get call.
                  = 1, an error (key or name don't exist or an internal error)

   So far, not all values can be obtained using Far.Cfg.Get(), config.cpp has to be redone.

2. Again on "batteries" (see b.2297)
   Info panel automatic update is added in the case if it is visible and displaying of power state is on and visible.
   Automatic update on charge amount per cent is available in Vista and upper.

3. SysLog is slightly updated

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001982: Получить настройки фара в макросе: Far.Cfg.Get
   Macro: добавлено
    функция, позволяет получить основные настройки...
      V=Far.Cfg.Get(Key,Name)
    макроконстанта
      Far.Cfg.Err = 0, ошибок после вызова Far.Cfg.Get не было.
                  = 1, какая-то трабла (нет такого key или name или внтур.ошибка)

   Пока не все значения можно получить с помощью Far.Cfg.Get(), нужна переделка config.cpp.

2. Снова про "батарейки" (см. b.2297)
   Добавлено автообновление Info-панели в случае, если она видна и включен показ инфы про питание и эта инфа видна.
   Автообновление по процентам зарядки доступно только от Висты и выше.

3. Немного обновлен SysLog

--------------------------------------------------------------------------------
t-rex 2012-01-12 20:22:49+02:00 - build 2371

1. Correction of 2368.

--------------------------------------------------------------------------------
drkns 2012-01-12 20:04:46+02:00 - build 2370

1. Correction of 2369.

--------------------------------------------------------------------------------
drkns 2012-01-12 19:00:38+02:00 - build 2369

1. Fix "far /? > file" and "far > file".

--------------------------------------------------------------------------------
svs 2012-01-12 18:09:11+04:00 - build 2368

1. Import diagnostics (constant, variable, macro)
   For example,

      Constant (5,13): <name> is empty or not found

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Диагностики импорта (constant, variable, macro)
   Например,

      Constant (5,13): <name> is empty or not found

--------------------------------------------------------------------------------
svs 2012-01-12 16:26:01+04:00 - build 2367

1. Mantis#0001655: Incorrect error message at macro parsing.
   Achtung: Don't forget that strings in macros are C-style.
           This means FAR expect control character after '\'.
           Also remember to use verbatim strings for paths
           (with '@' character before opening double quote) or duplicate '\'.

     Error  : panel.setpath(0,"HKEY_CURRENT_USER\Software")
     Correct: panel.setpath(0,"HKEY_CURRENT_USER\\Software")
     Correct: panel.setpath(0,@"HKEY_CURRENT_USER\Software")

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001655: Неверное сообщение об ошибке при разборе макроса.
   Ахтунг: Не забываем, что для строки в макроса - аля Це.
           Это означает, что после символа '\' Far ожидает управляющий символ
           Так же помним, что для разных путей юзаем verb-строки
           (с символом '@' перед открывающей двойной кавычкой) или дублируем символ '\'.

     Ошибка: panel.setpath(0,"HKEY_CURRENT_USER\Software")
     Верно : panel.setpath(0,"HKEY_CURRENT_USER\\Software")
     Верно : panel.setpath(0,@"HKEY_CURRENT_USER\Software")

--------------------------------------------------------------------------------
drkns 2012-01-11 22:46:51+02:00 - build 2366

1. After elevation, ntstatus is received from a child process together with lasterror.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В elevation получаем ntstatus от дочернего процесса вместе с lasterror.

--------------------------------------------------------------------------------
t-rex 2012-01-11 22:25:49+02:00 - build 2365

1. RegExp: \/ was not searched (if / was exactly the last character in the search line).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. RegExp: \/ не искался (если / именно последний символ строки поиска).

--------------------------------------------------------------------------------
drkns 2012-01-11 21:50:32+02:00 - build 2364

1. A couple of things in Message:
   - for messages with MSG_ERRORTYPE, F3 can show an additional error information ( win32 error code and text, nt status code and text)
   - on CtrlC the message content is copied into clipboard (header + lines + buttons) as for winapi MessageBox.

2. Ibid: text replacement is removed for some types of errors.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Пара плюшек в Message:
   - для сообщений с MSG_ERRORTYPE по F3 доступна дополнительная информация об ошибке ( win32 error код и текст, nt status код и текст)
   - по CtrlC в буфер копируется содержимое сообщения (заголовок + строки + кнопки) по аналогии с winapi MessageBox.

2. Там же: убрана подмена текста для некоторых кодов ошибок.

--------------------------------------------------------------------------------
t-rex 2012-01-11 21:53:39+02:00 - build 2363

1. No 'action's accepted. Something common for all the import has to be invented.
   Empty-means-deletion is simplest and most logical, drop any other variants.
   For vars, consts and macro there's the 'text' tag now, it may be CDATA, if it's absent
   then deletion takes place.
     <variable name="%NAME%" type="%TYPE%"><text>%VALUE%</text></variable>
     <constant name="%NAME%" type="%TYPE%"><text>%VALUE%</text></constant>
     <macro area="%AREA%" key="%KEY%"><text>%SEQUENCE%</text></macro>

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Никаких action, буду бить. И вообще надо что то общее для всего импорта.
   Удаление при "пустышках" это самое простое и логичное, всё остальное нафиг.
   Для vars, consts и macro теперь есть тэг text в котором может быть CDATA, если тэга
   text нету, то происходит удаление.
     <variable name="%NAME%" type="%TYPE%"><text>%VALUE%</text></variable>
     <constant name="%NAME%" type="%TYPE%"><text>%VALUE%</text></constant>
     <macro area="%AREA%" key="%KEY%"><text>%SEQUENCE%</text></macro>

--------------------------------------------------------------------------------
svs 2012-01-11 22:17:46+04:00 - build 2362

1. Mantis#0001949: Macro call with AutoCompletion on
   Change in API!!!

   struct MacroAddMacro is appended with the Area field
   Now MCTL_ADDMACRO can add into areas other than 'common'

2. In xml, "macro" element is renamed to "macros"
   http://forum.farmanager.com/viewtopic.php?p=88391#p88391

3. Import/Export of macro variables, constants and sequences.
   action = "add|delete|ignore" is added
     <variable name="%NAME%" type="%TYPE%" action="%ACTION%">%VALUE%</variable>
     <constant name="%NAME%" type="%TYPE%" action="%ACTION%">%VALUE%</constant>
   if action is not given, "add" is implied
   "ignore" - the object is skipped at importing
   "delete" - the object is deleted from DB at importing
   %VALUE% may be CDATA

4. The beginning of diagnostics in import.
   So far in macros - detection of an error cancels importing of macros into the database.

5. Correction of TranslateKeyToVK.
   Internal INTERNAL_KEY_BASE_2 are translated to
   MENU_EVENT, FOCUS_EVENT and WINDOW_BUFFER_SIZE_EVENT

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001949: Вызов макроса при включенном AutoCompletion
   Изменение в АПИ!!!

   В struct MacroAddMacro добавлено поле Area
   Теперь с помощью MCTL_ADDMACRO можно добавлять не только в область common

2. В xml раздел "macro" называется теперь "macros"
   http://forum.farmanager.com/viewtopic.php?p=88391#p88391

3. Импорт/Экспорт макропеременных, макроконстант и макропоследовательностей.
   Добавлен action = "add|delete|ignore"
     <variable name="%NAME%" type="%TYPE%" action="%ACTION%">%VALUE%</variable>
     <constant name="%NAME%" type="%TYPE%" action="%ACTION%">%VALUE%</constant>
   если action не указан, то подразумевается "add"
   "ignore" - при импорте будет пропущен
   "delete" - при импорте объект будет удален из базы
   %VALUE% может быть CDATA

4. Первые зачатки диагностики импорта.
   Пока в макросах - при обнаружении ошибок весь импорт макросов в базу отменяется.

5. Уточнение TranslateKeyToVK.
   Внутренние INTERNAL_KEY_BASE_2 транслируются на
   MENU_EVENT, FOCUS_EVENT и WINDOW_BUFFER_SIZE_EVENT

--------------------------------------------------------------------------------
svs 2012-01-11 11:35:08+04:00 - build 2361

1. Mantis#0001915: Indication of errors in macros at eval
   Macro: eval(,3) checks the macro sequence and returns a string value:
      1) an empty string - no errors
      2) 4 strings separated with '\n' explaining the error:
         1: line and position in the string (for example <Line 1, Pos 1>
         2: error message text (for example <Unrecognized keyword 'foo'>)
         3: the erroneous sequence snippet (for example <"foo">)
         4: arrow - the character with code \x2191

   msgbox with flag 8 (left align) is recommended for displaying the lines
     msgbox(,eval("blahblahblah",3),8)

2. Some replacement of BOOL to bool

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001915: Отображение ошибок в макросе при eval
   Macro: eval(,3) - чекит макропоследовательность и возвращает строковое значение:
      1) пустая строка - ошибок нет
      2) 4 строки, разделенные символом '\n', поясняющие ошибку:
         1: строка и позиция в строке (например, <Line 1, Pos 1>
         2: текст сообщения об ошибке (например, <Unrecognized keyword 'foo'>)
         3: кусок проблемной макропоследовательности (например, <"foo">)
         4: указатель - символ с кодом \x2191

   Для отображения строк разумнее применять msgbox с флагом 8 (выравнивание влево)
     msgbox(,eval("blahblahblah",3),8)

2. Немного замены BOOL на bool

--------------------------------------------------------------------------------
t-rex 2012-01-11 01:32:22+02:00 - build 2360

1. Mantis#1968: Do not save settings if unchanged.
   Now it's only generalconfig.db which is always written.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1968: Не сохранять настройки, если они не менялись.
   Теперь только generalconfig.db пишется всегда.

--------------------------------------------------------------------------------
drkns 2012-01-10 16:41:31+02:00 - build 2359

1. Correction of 2327.

--------------------------------------------------------------------------------
svs 2012-01-10 15:51:05+04:00 - build 2358

1. Mantis#0001923: Crash at attempt of filter (CtrlI) editing after filter applied (CtrlAltF)
   (from Maximus)

2. Mantis#0001921: Unreal lags in ECTL_ADDCOLOR
   (from Maximus)

3. Mantis#0001917: Far crash with CurPos called for DI_LISTBOX
   (from Maximus)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001923: Падение при попытке редактирования фильтров (CtrlI) после их фильтрации (CtrlAltF)
   (from Maximus)

2. Mantis#0001921: Нереальные тормоза в ECTL_ADDCOLOR
   (from Maximus)

3. Mantis#0001917: Far валится при вызове CurPos для DI_LISTBOX
   (from Maximus)

--------------------------------------------------------------------------------
svs 2012-01-10 15:31:57+04:00 - build 2357

1. Mantis#0001945: Cannot move vertical block with the end of the line
   CurLine->GetSelection(...) is unapplicable to vertical blocks :-)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001945: Не можем сдвинуть вертикальный блок с концом строки
   CurLine->GetSelection(...) не применим к вертикальным блокам :-)

--------------------------------------------------------------------------------
svs 2012-01-10 15:12:03+04:00 - build 2356

1. Mantis#0001198: Bugs in Editor.Set
   Bugs in 12-th ("Word separators") and 16-th ("Allow editing files opened for writing") options.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001198: Неполадки с Editor.Set
   Баги с 12-й ("Символы разделители слов") и 16-й ("Редактировать открытые на запись файлы") опциями.

--------------------------------------------------------------------------------
svs 2012-01-10 12:58:46+04:00 - build 2355

1. Mantis#0001972: ShiftHome and editor.sel(0,2)
   Returning ShiftHome behaviour as it had been before 1.7x build 1541.
   Now ShiftHome does not reset selection if the cursor is positioned to the beginning of the line.

2. Macro: editor.sel(0,3) returned values from 0 (must be 1)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001972: ShiftHome и editor.sel(0,2)
   Возвращаем поведение ShiftHome, как было до 1.7x build 1541.
   Теперь ShiftHome не сбрасывает выделение, если курсор стоит в начале строки.

2. Macro: editor.sel(0,3) возвращал значение от 0 (должен от 1)

--------------------------------------------------------------------------------
drkns 2012-01-09 17:14:54+02:00 - build 2354

1. Mantis#0001975: FAR3 user menu eats hotkeys

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001975: Фар3 юзер меню проглатывает хоткей

--------------------------------------------------------------------------------
w17 2012-01-09 17:15:14+04:00 - build 2353

1. Mantis#1723,1927: CPU load when idle on VM
   (originated by sezal)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1723,1927: загрузка CPU в режиме простоя на виртуальной машине
   (originated by sezal)

--------------------------------------------------------------------------------
svs 2012-01-07 22:34:28+04:00 - build 2352

1. Macro: Shell.AutoCompletion did not work, returning Dialog.AutoCompletion all the way

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: Shell.AutoCompletion не работал все время возвращался Dialog.AutoCompletion

--------------------------------------------------------------------------------
t-rex 2012-01-07 13:43:07+02:00 - build 2351

1. Minor corrections of history.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Мелкие исправления в истории.

--------------------------------------------------------------------------------
w17 2012-01-03 23:23:11+04:00 - build 2350

1. Mantis#1964: Viewer cannot find a text in UTF8 file
   This is not related to UTF-8, just a bug in text search

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1964: Viewer не находит текст в UTF8 файле
   С UTF-8 это никак не связано - просто ляп в поиске текста

--------------------------------------------------------------------------------
w17 2012-01-03 22:13:00+04:00 - build 2349

1. Mantis#1966: Error in search displaying.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1966: Ошибка отображения при поиске

--------------------------------------------------------------------------------
drkns 2012-01-02 22:26:12+02:00 - build 2348

1. In 2214, mouse wheel handling in menu was broken.

2. Warnings.

3. Lng generator v1.3.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В 2214 отвалилась обработка колеса мыши в меню.

2. Warnings.

3. Lng generator v1.3.

--------------------------------------------------------------------------------
drkns 2012-01-02 15:48:46+02:00 - build 2347

1. FSF.InputBox's int DestLength is replaced with size_t DestSize.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В FSF.InputBox вместо int DestLength теперь size_t DestSize.

--------------------------------------------------------------------------------
svs 2011-12-31 12:30:32+04:00 - build 2346

1. Mantis#0001959: Error loading macros via MCTL_ADDMACRO

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001959: Ошибка загрузки макросов через MCTL_ADDMACRO

--------------------------------------------------------------------------------
zg 2011-12-31 01:12:13+02:00 - build 2345

1. infinite recursion when calling from GetOpenPluginInfo, for example, opening an archive with Multiarc.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. бесконечная рекурсия при вызове из GetOpenPluginInfo - например Мультиарком попытатся открыть архив.

--------------------------------------------------------------------------------
t-rex 2011-12-30 14:25:35+02:00 - build 2344

1. Mantis#1965: "A+" regular expression does not work.
   It didn't work just for capital letters.

2. Debug build failure.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1965: Регулярное выражение "A+" не работает.
   Именно для больших букв не работало.

2. Не собирался дебаг.

--------------------------------------------------------------------------------
zg 2011-12-30 03:46:41+02:00 - build 2343

All native plugins that use FCTL_SETPANELDIR/FCTL_GETPANELDIR do not work.

1. FCTL_GETPANELDIR->FCTL_GETPANELDIRECTORY. Param1 is the size of Param2. Param2 is a pointer to FarPanelDirectory.
   the result is the required size.

2. FCTL_SETPANELDIR->FCTL_SETPANELDIRECTORY. Param1 is 0. Param2 is a pointer to FarPanelDirectory.
   non-zero value is returned if successful.

· · · · · · · · · · · · · · · · · · · · · · · · ·

Все нативные плагины, использующие FCTL_SETPANELDIR/FCTL_GETPANELDIR - не работают.

1. FCTL_SETPANELDIR->FCTL_SETPANELDIRECTORY. Param1 - размер Param2. Param2 - указатель на FarPanelDirectory.
   возвращается необходимый размер.

2. FCTL_GETPANELDIR->FCTL_GETPANELDIRECTORY. Param1 - 0. Param2 - указатель на FarPanelDirectory.
   в случае успеха возвращается ненулевое значение.

--------------------------------------------------------------------------------
drkns 2011-12-30 00:54:46+02:00 - build 2342

1. Alternative solution of 2335.1.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Альтернативное решение 2335.1.

--------------------------------------------------------------------------------
drkns 2011-12-29 19:43:12+02:00 - build 2341

1. You've got the idea.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ну вы поняли.

--------------------------------------------------------------------------------
drkns 2011-12-28 13:15:35+02:00 - build 2340

1. Fixing the broken.

--------------------------------------------------------------------------------
drkns 2011-12-27 23:38:44+02:00 - build 2339

1. Fixing the broken.

--------------------------------------------------------------------------------
drkns 2011-12-27 21:24:05+02:00 - build 2338

1. Summarizing http://forum.farmanager.com/viewtopic.php?t=5390, return History.Disable().

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. По итогам http://forum.farmanager.com/viewtopic.php?t=5390: вернем обратно History.Disable().

--------------------------------------------------------------------------------
drkns 2011-12-27 16:03:21+02:00 - build 2337

1. Mantis#0001961: Cannot open CentOS-5.4 network share

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001961: Не открывается сетевая шара системы с CentOS-5.4

--------------------------------------------------------------------------------
drkns 2011-12-27 11:19:34+02:00 - build 2336

1. Fixing the broken.

--------------------------------------------------------------------------------
drkns 2011-12-26 23:56:59+02:00 - build 2335

1. Another bug in the copier. I'm curious of what will fail this time.

2. Stripping trailing space characters in sources.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Очередной глюк копира. Интересно, что отвалится теперь.

2. Порежем концевые пробелы в исходниках.

--------------------------------------------------------------------------------
t-rex 2011-12-26 17:00:10+02:00 - build 2334

1. Mantis#1957: Associations choice menu.
   Only descriptions are shown (if any), descriptions are not truncated by length in edit menu.

2. xml -> farconfig

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1957: Меню выбора ассоциаций.
   Показываем тока описание (если есть), а в меню редактирования не режим описание по длине.

2. xml -> farconfig

--------------------------------------------------------------------------------
drkns 2011-12-26 16:31:23+02:00 - build 2333

1. Corrections in InfoPanel.

--------------------------------------------------------------------------------
zg 2011-12-26 14:47:18+02:00 - build 2332

1. System.Executor\ExcludeCmds malfunction.

--------------------------------------------------------------------------------
t-rex 2011-12-25 23:41:38+02:00 - build 2331

1. No, we'd better return the old input mode, it has ever been that.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не, лучше вернём режим ввода как и был, он такой был всегда.

--------------------------------------------------------------------------------
t-rex 2011-12-25 23:32:34+02:00 - build 2330

1. Out of 2324, a bug showed up: console mode does not recover for output handles after external console apps start.
   Some apps zero them, which leads to hilarious bugs when next console programs are run.
   Also, more correct mode is set for the input handle, just in case.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Из за 2324 всплыл глюк не востановление режима консоли для хэндлов вывода после запуска внешних консольных прог.
   Некоторые проги их обнуляют что приводило к весёлым глюкам отрисовки при запуске последующих консольных прог.
   Также выставим более правильный режим для хэндла ввода на всякий пожарный.

--------------------------------------------------------------------------------
drkns 2011-12-25 19:28:52+02:00 - build 2329

1. QuickView: allocated size is correctly calculated for several hard links inside the directory. Experimental.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. QuickView: allocated size правильно рассчитывается для нескольких жёстких ссылок внутри каталога. Экспериментально.

--------------------------------------------------------------------------------
zg 2011-12-25 14:48:29+02:00 - build 2328

1. experimental obtaining of confirmation settings via SettingsControl(...,SCTL_GET,...).
   Root - FSSF_CONFIRMATIONS, Name - L"CopyOverwrite", L"MoveOverwrite" etc.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. экспериментальное получение настроек подтверждения через SettingsControl(...,SCTL_GET,...).
   Root - FSSF_CONFIRMATIONS, Name - L"CopyOverwrite", L"MoveOverwrite" и т.д.

--------------------------------------------------------------------------------
drkns 2011-12-25 14:17:13+02:00 - build 2327

1. "packed size" replaced with more correct "allocated size".
2. In connection with #1, the changes in QuickView: real size == allocated size, the MFT stored files size is taken correctly.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Теперь нет понятия "упакованный размер файла" ("packed size"), есть более корректное понятие "выделенный размер файла" ("allocated size").
2. В связи с п. 1 изменения в QuickView: реальный размер == выделенный размер, правильно учитывается размер файлов, целиком хранящихся в MFT.

--------------------------------------------------------------------------------
zg 2011-12-25 13:43:10+02:00 - build 2326

1. experimental obtaining of dialogs history via SettingsControl. it is similar to other types of history,
   except that the root is requested in this way:
     FarSettingsValue value={0,L"NewFolder"};
     root=Info.SettingsControl(Settings,SCTL_OPENSUBKEY,0,&value);

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. экспериментальное получение истории диалогов через SettingsControl. аналогично другим историям,
   за исключением того, что root получается:
     FarSettingsValue value={0,L"NewFolder"};
     root=Info.SettingsControl(Settings,SCTL_OPENSUBKEY,0,&value);

--------------------------------------------------------------------------------
drkns 2011-12-24 23:50:51+02:00 - build 2325

1. Typo in 2324.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Очепятка в 2324.

--------------------------------------------------------------------------------
drkns 2011-12-24 21:39:08+02:00 - build 2324

1. Mantis#0001953 - the 2nd attempt.

--------------------------------------------------------------------------------
drkns 2011-12-24 19:34:24+02:00 - build 2323

1. For "out of the box" plugins, Far 1/2 compatible default hotkeys are set in drive menu (once).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В меню дисков для "искаробочных" плагинов по умолчанию устанавливаются горячие клавиши, совместимые с Far 1/2 (однократно).

--------------------------------------------------------------------------------
t-rex 2011-12-24 19:15:47+02:00 - build 2322

1. Mantis#1955: Editing of macros.

--------------------------------------------------------------------------------
drkns 2011-12-24 19:03:54+02:00 - build 2321

1. GlobalInfo structure excessive zeroing (Mantis#0001956).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Лишнее обнуление структуры GlobalInfo (Mantis#0001956).

--------------------------------------------------------------------------------
drkns 2011-12-24 18:53:03+02:00 - build 2320

1. Rollback of Mantis#0001953.

--------------------------------------------------------------------------------
svs 2011-12-24 20:18:35+04:00 - build 2319

1. Mantis#0001953: cmd.exe excessive call
   (from Maximus)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001953: Лишний вызов cmd.exe
   (from Maximus)

--------------------------------------------------------------------------------
svs 2011-12-24 19:22:19+04:00 - build 2318

1. Corrections of several places that have seemed unacceptable to the analyzer...

2. set USE_ANALYZE=1 switches the analyzer on (adds /analyze).

3. Mantis#0001951: Incorrect InputRecord in DN_CONTROLINPUT event
   Correction: Bug: "Ctrl+A means CtrlShift+A"

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнения некоторых мест, которые анализатору показались неприличными...

2. set USE_ANALYZE=1 "включает" анализатор (добавляет /analyze).

3. Mantis#0001951: Неправильный InputRecord в событии DN_CONTROLINPUT
   Уточнение: Bug: "При Ctrl+A получается CtrlShift+A"

--------------------------------------------------------------------------------
svs 2011-12-24 15:33:15+04:00 - build 2317

1. Mantis#0001951: Incorrect InputRecord in DN_CONTROLINPUT event

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001951: Неправильный InputRecord в событии DN_CONTROLINPUT

--------------------------------------------------------------------------------
drkns 2011-12-24 12:59:03+02:00 - build 2316

1. Mantis#0001954: copying a directory to "admin" folder fails

--------------------------------------------------------------------------------
t-rex 2011-12-24 11:50:29+02:00 - build 2315

1. BOOL -> bool in several places.

2. Let's make vc10wrapper.cpp usable in plugins without copying.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В нескольких местах BOOL -> bool.

2. Сделаем так чтоб vc10wrapper.cpp можно было использовать в плагинах не копируя.

--------------------------------------------------------------------------------
drkns 2011-12-23 23:43:51+02:00 - build 2314

1. vc10.asm redesign - <En|De>codePointer are replaced with stubs only if they are missing in OS.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Редизайн vc10.asm - <En|De>codePointer заменяются пустышками только в том случае, когда в ОС их действительно нет.

--------------------------------------------------------------------------------
t-rex 2011-12-23 12:49:15+02:00 - build 2313

1. Mantis#1201: Far 2 does not open an URL.

2. BOOL -> bool in several inner functions.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1201: В Far 2 не работает переход на URL.

2. В нескольких внутрених функциях BOOL -> bool.

--------------------------------------------------------------------------------
t-rex 2011-12-23 10:12:31+02:00 - build 2312

1. Mantis#1952: Safe removal with Shift-Del does not work.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1952: Не работает безопасное извлечение устройств по Shift-Del.

--------------------------------------------------------------------------------
svs 2011-12-22 23:55:28+04:00 - build 2311

1. Mantis#0001949: Macro call with AutoCompletion switched on
    1. Fixing <akey(1,0) returns a "smiley" instead of ShiftEnter>
    2. Removing "AutoCompletion" section, adding 2 others: "Shell.AutoCompletion" and "Dialog.AutoCompletion".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001949: Вызов макроса при включенном AutoCompletion
    1. Исправляем <akey(1,0) возвращает "рожицу" вместо ShiftEnter>
    2. Удаляем область "AutoCompletion", добавляем 2 новых "Shell.AutoCompletion" и "Dialog.AutoCompletion".

--------------------------------------------------------------------------------
t-rex 2011-12-22 18:20:50+02:00 - build 2310

1. RCtrl and RAlt were passed incorrectly in ANSI plugins panel.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. RCtrl и RAlt неправильно передавались в панели анси плагинов.

--------------------------------------------------------------------------------
w17 2011-12-22 16:50:49+04:00 - build 2309

1. Typo in string constructor

--------------------------------------------------------------------------------
svs 2011-12-22 16:29:40+04:00 - build 2308

1. InfoPanel: Ctrl-digit combinations are removed.
   Define them with macros using Ctrl-F12 menu

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. InfoPanel: убраны комбинации Ctrl-Цифра.
   Макросится через Ctrl-F12

--------------------------------------------------------------------------------
drkns 2011-12-22 13:37:44+02:00 - build 2307

1. More on info panel.

--------------------------------------------------------------------------------
drkns 2011-12-22 11:04:18+02:00 - build 2306

1. Correction of displaying of common size at copying.

2. InfoPanel: computer info (if available), user info (if available), user access level (guest/user/admin).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение отображения общего размера при копировании.

2. InfoPanel: добавлено описание компьютера (если есть), описание пользователя (если есть), уровень доступа пользователя (guest/user/admin).

--------------------------------------------------------------------------------
t-rex 2011-12-21 21:24:04+02:00 - build 2305

1. A couple of minor issues.

--------------------------------------------------------------------------------
drkns 2011-12-21 20:58:55+02:00 - build 2304

1. One more correction regarding to skipping of "." and ".." reading a directory.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё одно уточнение в пропуске "." и ".." при чтении каталога.

--------------------------------------------------------------------------------
drkns 2011-12-21 20:33:19+02:00 - build 2303

1. Inner functions are partly refactored from 'const wchar_t*' to 'const string&' because string.CPtr() is already passed almost everywhere.
   This should reduce wcslen usage etc.

2. Elevation works in encryption/decryption.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Внутренние функции в некоторых местах переделаны с const wchar_t* на const string&, т. к. и так почти везде передаётся string.CPtr().
   Должно сократить вызовы wcslen и т. п.

2. В шифровании/дешифровании работает elevation.

--------------------------------------------------------------------------------
w17 2011-12-21 17:12:54+04:00 - build 2302

1. 0001950: Erroneous switching to Dump mode on Unicode files

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 0001950: Ошибочно переключается в Dump режим на юникодных файлах

--------------------------------------------------------------------------------
w17 2011-12-15 22:40:32+04:00 - build 2301

1. Mantis #1235: Incorrect Shift-Del functioning on storage devices with more than 1 partition
   (from Arty)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis #1235: Неверная работа Shift-Del на устройствах хранения с больше чем одним разделом
   (from Arty)

--------------------------------------------------------------------------------
svs 2011-12-15 21:39:07+04:00 - build 2300

1. Correction of build 2297

--------------------------------------------------------------------------------
w17 2011-12-15 19:04:57+04:00 - build 2299

1. Mantis #1944 - fix

--------------------------------------------------------------------------------
drkns 2011-12-14 13:20:46+02:00 - build 2298

1. Mantis#0001944: FAR crashes at creation a symbolic link to a file or a directory

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001944: FAR падает при создании сиволической ссылки на файл или каталог

--------------------------------------------------------------------------------
svs 2011-12-13 21:39:00+04:00 - build 2297

1. Mantis#0001943: Correction of some flaws in Message function
   (from shmuel)

2. InfoPanel:
   - sections can be hidden (Ctrl0..Ctrl9 or via Ctrl-F12 menu)
   - (experimental) "Power Info" section is added - the power state (shown via settings)
   - changes in help

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001943: Исправление некоторых дефектов функции Message
   (from shmuel)

2. InfoPanel:
   - разделы можно скрывать (Ctrl0..Ctrl9 или через меню Ctrl-F12)
   - добавлен (эксперимент) раздел Power Info - состояние питания (показ через настройки)
   - изменен help

--------------------------------------------------------------------------------
zg 2011-12-13 17:39:38+02:00 - build 2296

1. rollback of 2286 b-f.

--------------------------------------------------------------------------------
drkns 2011-12-12 15:20:01+02:00 - build 2295

1. Mantis#0001461: In Drive Menu, ShiftEnter on CD/DVD drive without a disc causes a black screen

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001461: ShiftEnter на CD/DVD приводе без вставленного диска в Drive Menu - Черный Экран

--------------------------------------------------------------------------------
w17 2011-12-09 14:37:30+04:00 - build 2294

1. Mantis #1151: Incorrect destination path after choosing "Retry" when copying a folder with files to a Flash drive

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis #1151: Неверное назначение после Retry при копировании на флэшку папки с файлами

--------------------------------------------------------------------------------
w17 2011-12-09 07:13:09+04:00 - build 2293

1. Mantis #1937 - Editor RCtrl+Alt+...

--------------------------------------------------------------------------------
svs 2011-12-08 21:40:53+04:00 - build 2292

1. Mantis#0001940: Builtin macro editor
   Place "Change" button between "Yes" and "No".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001940: Встроенный редактор макросов
   Кнопку Change поставим между Yes и No.

--------------------------------------------------------------------------------
svs 2011-12-08 19:59:48+04:00 - build 2291

1. Mantis#0001940: Builtin macro editor
   On deletion, the "Change" button appears, invoking the macro settings dialog.

2. macros.db is redone.
   Instead of plugin_functions table, there's "functions", likewise in XML, 'plugin' is replaced with 'function'.

   The previous database must be deleted (export then import to keep data).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001940: Встроенный редактор макросов
   Если удаляем, то появляется кнопка "Change", нажав на которую попадаем в диалог настройки макроса.

2. Переделка macros.db.
   Вместо таблицы plugin_functions есть "functions", и в XML вместо plugin - function.

   Пред.базу удалить (восстановить можно через экспорт-импорт).

--------------------------------------------------------------------------------
w17 2011-12-08 12:26:58+04:00 - build 2290

1. #1938: After ECTL_DELETESTRING, blocks in the editor cease working

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. #1938: После ECTL_DELETESTRING перестают работать блоки в редакторе

--------------------------------------------------------------------------------
w17 2011-12-08 00:07:18+04:00 - build 2289

1. Mantis #514 - continuation
   console buffer scrolling is functional if the current mode is neither the editor nor the viewer. ScrollLock is not checked.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis #514 - продолжение
   скролл консольного буфера работет, если текущий режим не редактор и не вьювер. ScrollLock не проверяется.

--------------------------------------------------------------------------------
w17 2011-12-07 23:53:06+04:00 - build 2288

1. Mantis #1939 Viewer - searching progress state in the taskbar

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis #1939 Viewer - состояние прогресса поиска в таскбаре

--------------------------------------------------------------------------------
svs 2011-12-07 16:15:27+04:00 - build 2287

1. On importing to DB, a macro sequence is stripped all leading and trailing space characters.

2. macros.db is redone.
   constants & variables are appended with 'type' field - the type of 'value' field contents.
   This is a string value, it can be one of the following ones:

    "unknown"  - undefined
    "integer"  - (__int64)
    "text"     - string
    "real"     - floating-point (double)

   'value' is still stored as a string, it is converted to a given type at startup.
   if 'type' differs from those listed, it is considered as a string in the core.
   If the type is specified as "unknown" in DB then the value is previously converted into "integer" (not regarding to errors) and forcingly assigned the vtUnknown type.

   Examples in XML:

        <constants>
            <constant name="ACTIVEPANEL" value="0" type="integer"/>
            <constant name="PI" value="3.14159265358979323846" type="real"/>
        </constants>
        <variables>
            <variable name="%%PI" value="3.14" type="text"/>
        </variables>

   The previous database must be deleted (export then import to keep data).

   TODO: error diagnostics at import!

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При импорте в базу у макропоследовательности удаляются все незначащие внешние (Leading и Trailing) пробельные символы.

2. Переделка macros.db.
   В constants & variables добавлено поле type - тип содержимого в поле value.
   Строкое значение, может быть одним из:

    "unknown"  - неопределенное
    "integer"  - целочисленное (__int64)
    "text"     - строка
    "real"     - вещественное (double)

   Значение value в таблице по прежнему хранится в виде строки, после загрузки конвертится в заданный тип.
   Если type отлично от перечисленного, то в ядре такое значение будет как строка.
   Если в базе тип указан как "unknown", то предварительно значение преобразуется в "integer" (без оглядки на ошибки) и ему принудительно ставится тип vtUnknown.

   Примеры в XML:

        <constants>
            <constant name="ACTIVEPANEL" value="0" type="integer"/>
            <constant name="PI" value="3.14159265358979323846" type="real"/>
        </constants>
        <variables>
            <variable name="%%PI" value="3.14" type="text"/>
        </variables>

   Пред.базу удалить (восстановить можно через экспорт-импорт).

   TODO: необходимо при импорте организовать диагностику ошибок!

--------------------------------------------------------------------------------
w17 2011-12-07 12:59:31+04:00 - build 2286

1. Mantis #514 - block selection in editor.
   Changes:
   a) scrolling of console buffer for 'far /w' is functional only with ScrollLock on
   b) Ctrl-Shift/Alt-Up/Down == Shift/Alt-Up/Down
   c) Copying to clipboard does not reset selection
   d) Per-line wrapping for [Ctrl-]Shift-Left/Right
   e) Cursor moving with Ctrl-Shift/Alt-Left/Right is same as with Ctrl-Left/Right except special cases -- 'anchor' crossing resets the selection at first;
      moving beyond the line to the left through the end of the line
   f) Beyond the line, Ctrl-Alt-Right == Alt-Right == move 1 position to the right

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis #514 - выделение блоков в редакторе.
   Изменения:
   a) скролл консольного буфера для 'far /w' работает только если горит ScrollLock
   b) Ctrl-Shift/Alt-Up/Down == Shift/Alt-Up/Down
   c) Копирование в клипборд не снимает выделение
   d) 'Заворот' строк для [Ctrl-]Shift-Left/Right
   e) Перемещение по Ctrl-Shift/Alt-Left/Right такое же как и по Ctrrl-Left/Right, кроме особых случаев -- переход через 'якорь' сначала снимает выделение; переход из-за пределов строки влево через конец строки
   f) За пределами строки Ctrl-Alt-Right == Alt-Right == сдвиг вправо на 1 позицию

--------------------------------------------------------------------------------
drkns 2011-12-07 08:16:57+02:00 - build 2285

1. Correction of 2284.

--------------------------------------------------------------------------------
svs 2011-12-06 16:13:24+04:00 - build 2284

1. New macros.db format.
   'area', 'key' and 'flags' fields are now stored as a text
   (in order to avoid future problems caused by changing them inside Far)

   The previous database must be deleted (export then import to keep data).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В базе macros.db новый формат.
   Поля area, key и flags теперь хранятся в текстовом виде
   (что бы не было проблем в будущем от изменения этих значений внутри Far)

   Пред.базу удалить (восстановить можно через экспорт-импорт).

--------------------------------------------------------------------------------
drkns 2011-12-05 18:56:56+02:00 - build 2283

1. More on Mantis#0001221.

--------------------------------------------------------------------------------
drkns 2011-12-05 17:05:29+02:00 - build 2282

1. Mantis#0001935: when importing from xml, variables are placed into constants section

1. More on Mantis#0001221.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001935: при импорте из xml переменные заносятся в раздел констант

1. Ещё на тему Mantis#0001221.

--------------------------------------------------------------------------------
drkns 2011-12-05 13:21:32+02:00 - build 2281

1. Changes of macro description format in xml. The new one is: <macro area="%AREA%" key="%KEY%" flags="%FLAGS%" description="%DESC%">%SEQUENCE%</macro>

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Изменение формата описания макросов в xml. Теперь так: <macro area="%AREA%" key="%KEY%" flags="%FLAGS%" description="%DESC%">%SEQUENCE%</macro>

--------------------------------------------------------------------------------
drkns 2011-12-04 15:46:27+02:00 - build 2280

1. Macros can be deleted when importing xml. This is done by leaving 'sequence' attribute empty or unspecified.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Макросы можно удалять через импорт xml. Для этого атрибут sequence надо оставить пустым или не указывать.

--------------------------------------------------------------------------------
drkns 2011-12-04 00:49:21+02:00 - build 2279

1. Continuation of 2278.

--------------------------------------------------------------------------------
drkns 2011-12-04 00:11:58+02:00 - build 2278

1. Mantis#0001933: macro settings are not restored with far.exe /import

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001933: настройки макросов не восстанавливаются через far.exe /import

--------------------------------------------------------------------------------
drkns 2011-12-03 19:38:39+02:00 - build 2277

1. Mantis#0001221: hard link highlighting in panels

2. Mantis#0001932: cannot delete a macro

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001221: Раскраска hard link в панели

2. Mantis#0001932: невозможно удалить макрос

--------------------------------------------------------------------------------
drkns 2011-12-03 01:01:16+02:00 - build 2276

1. Correction of 2274.1.

--------------------------------------------------------------------------------
w17 2011-12-03 02:30:31+04:00 - build 2275

1. fixing gcc 64 build

--------------------------------------------------------------------------------
drkns 2011-12-02 22:08:21+02:00 - build 2274

1. It's finally done, Far does not store settings in the registry.
  - Mantis#0001840: Macro && DB. Something could go wrong, be careful.

2. AltEnter (+modifiers) is available is OS's which do not support hardware fullscreen mode.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Свершилось, Far окончательно не использует реестр для хранения настроек.
  - Mantis#0001840: Macro && DB. Где-то что-то могло отвалиться, соблюдаем осторожность.

2. В операционных системах, не поддерживающих аппаратный полноэкранный режим, доступно сочетание AltEnter (+модификаторы).

--------------------------------------------------------------------------------
drkns 2011-11-30 21:41:38+02:00 - build 2273

1. Plugin settings databases got descriptions.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. К базам с настройками плагинов теперь цепляются описания.

--------------------------------------------------------------------------------
drkns 2011-11-27 23:32:27+02:00 - build 2272

1. Incorrect handling of the packed size obtaining error.

2. Support for privilege elevation when obtaining the packed size.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Некорректно обрабатывалась ошибка получения упакованного размера.

2. Поддержка повышения полномочий при получении упакованного размера.

--------------------------------------------------------------------------------
w17 2011-11-24 00:13:34+04:00 - build 2271

1. Mantis #1925, #1326: Editor replace string selection fix.

--------------------------------------------------------------------------------
drkns 2011-11-19 23:35:25+02:00 - build 2270

1. Incorrect processing of FMSG_MB_* flags in the wrapper.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Некорректно обрабатывались флаги FMSG_MB_* во враппере.

--------------------------------------------------------------------------------
w17 2011-11-17 02:55:35+04:00 - build 2269

1. Continuation of 2268

--------------------------------------------------------------------------------
w17 2011-11-16 13:43:39+04:00 - build 2268

1. Common code is taken out of makefile_gcc in order to use it for building plugins.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Выделение из makefile_gcc общей части для ислользования при сборке плагинов.

--------------------------------------------------------------------------------
drkns 2011-11-13 00:51:23+02:00 - build 2267

1. Using SetUnhandledExceptionFilter.

--------------------------------------------------------------------------------
drkns 2011-11-10 16:28:04+02:00 - build 2266

1. The default file highlighting was not applied if highlight.db was opened in memory.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не применялась дефолтная раскраска файлов, если highlight.db открывалась в памяти.

--------------------------------------------------------------------------------
svs 2011-11-10 12:29:47+04:00 - build 2265

1. Mantis#0001198: Bugs in Editor.Set
   The following options have become RW for Editor.Set(): 8, 12, 13, 14, 17, 18

2. Mantis#0001912: The macrofunction to assign the input focus to the dialog item which had been focused before the current one.
   Additions:
    1. Dlg.PrevPos - previous focused item number (in addition to Dlg.CurPos)
    2. N=Dlg.SetFocus([ID]) - set the focus to the item with number ID
       If ID is not given, it returns the focused item number
       Return:
         -1 - inner error or the function is called outside a dialog
          0 - an attempt to position to an unfocused item
         >0 - previous focused item number

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001198: Неполадки с Editor.Set
   В Editor.Set() стали RW следующие опции: 8, 12, 13, 14, 17, 18

2. Mantis#0001912: Макрофункция для установки фокуса ввода элементу диалога, имевшему фокус до текущего.
   Добавлены:
    1. Dlg.PrevPos - номер предыдущего фокусного элемента (в дополнение к Dlg.CurPos)
    2. N=Dlg.SetFocus([ID]) - установить фокус на элемент с порядковым номером ID
       Если ID не указан, возвращает номер фокусного элемента
       Возвращает:
         -1 - внутренняя ошибка или функция применены вне диалога
          0 - попытка стать на нефокусный элемент
         >0 - номер предыдущего фокусного элемента

--------------------------------------------------------------------------------
svs 2011-11-09 06:42:02+04:00 - build 2264

1. SQLite 3.7.9

2. Correction of build 2246

--------------------------------------------------------------------------------
w17 2011-11-07 22:30:08+04:00 - build 2263

1. HOSTTYPE is Windows by default, Cygwin != Unix

--------------------------------------------------------------------------------
drkns 2011-11-07 09:41:27+02:00

1. HOSTTYPE is Windows by default.

--------------------------------------------------------------------------------
w17 2011-11-07 11:30:15+04:00 - build 2262

1. 2252 - Vstudio build repaired

--------------------------------------------------------------------------------
w17 2011-11-07 03:58:15+04:00 - build 2261

1. 2252 one more time - the return of -O3

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё раз 2252 - возвращение -O3

--------------------------------------------------------------------------------
w17 2011-11-05 01:02:42+04:00 - build 2260

1. gcc #pragma for 4.6 only

--------------------------------------------------------------------------------
w17 2011-11-04 21:49:00+04:00 - build 2259

1. Again, a fix for 2252 - msys mingw fix

--------------------------------------------------------------------------------
w17 2011-11-04 20:09:02+04:00 - build 2258

1. A fix for 2257.2 (__GNUC_MINOR__)

--------------------------------------------------------------------------------
w17 2011-11-04 20:05:17+04:00 - build 2257

1. Correction of 2252.2

2. nullptr for gcc < 4.6.1

--------------------------------------------------------------------------------
drkns 2011-11-04 14:10:46+02:00 - build 2256

1. An attempt of UnicodeString speeding up with the use of a stack buffer.

2. Minor things.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Попробуем немного ускорить UnicodeString за счет стекового буфера.

2. Всякие мелочи.

--------------------------------------------------------------------------------
w17 2011-11-04 14:53:20+04:00 - build 2255

1. Correction of 2252.2

--------------------------------------------------------------------------------
w17 2011-11-04 14:14:30+04:00 - build 2254

1. Correction of 2252.2

--------------------------------------------------------------------------------
w17 2011-11-04 14:10:35+04:00 - build 2253

1. Correction of 2252.1

--------------------------------------------------------------------------------
w17 2011-11-04 11:14:20+04:00 - build 2252

MinGW gcc build
   The following ones are supposed to be functional:
    Windows builds with tdm-gcc 32/64, including far32 build with tdm64;
    Cygwin/Linux builds with MinGW 32/64 cross compiler, 32-32 and 64-64 only;

   The checked ones are MinGW 4.5.2 (gcc header file must be edited), 4.6.1, 4.6.2

   ACHTUNG!
   -mno-cygwin flag is removed, MinGW does not need it, cygwin gcc does not support it since 1.7.6

· · · · · · · · · · · · · · · · · · · · · · · · ·

MinGW gcc build
   Должны работать:
    сборки из под Windows через tdm-gcc 32/64, в том числе far32 через tdm64;
    сборки из под Cygwin/Linux через кросс MinGW 32/64, только 32-32 b 64-64;

   Проверялись версии MinGW 4.5.2 (нужна правка gcc-шного хидер файла), 4.6.1, 4.6.2

   АХТУНГ!
   флаг -mno-cygwin удалён, MinGW он не нужен, cygwin gcc после версии 1.7.6 его не поддерживает

--------------------------------------------------------------------------------
drkns 2011-10-31 13:24:03+02:00 - build 2251

1. Correction of 2224.1.

--------------------------------------------------------------------------------
drkns 2011-10-27 13:08:21+03:00 - build 2250

1. Mantis#0001918: FAR crash on "Standard association" choice

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001918: Фар валится при выборе "Standard association"

--------------------------------------------------------------------------------
drkns 2011-10-25 20:14:28+02:00

1. Far.exe.ini -> Far.exe.example.ini

--------------------------------------------------------------------------------
w17 2011-10-25 17:09:29+04:00 - build 2249

1. Viewer - errors are fixed, scroll bar drawing is normalized.

2. Viewer - Simplification of previous mode saving logic in Goto dialog (AltF8)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Вьювер - Исправлены ошибки и нормализована отрисовка скроллбара.

2. Вьювер - Упрощение логики запоминания предыдущего режима в далоге Goto (AltF8)

--------------------------------------------------------------------------------
drkns 2011-10-24 15:07:04+03:00 - build 2248

1. Continuation of 2247.1.

--------------------------------------------------------------------------------
drkns 2011-10-24 12:05:37+03:00 - build 2247

1. Mantis#0001916: Far silent crash on sqlite format incompatibility.
   Now "at incompatibility" we try old database backup and create a correct one, if this also fails, the base is opened in memory.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001916: Фар молча падает при несоответствии формата sqlite.
   Теперь "при несоответствии" пробуем бекапить старую базу и создавать правильную, если же и это не получится - база будет открыта в памяти.

--------------------------------------------------------------------------------
zg 2011-10-24 00:38:08+02:00 - build 2246

1. human readable names for structures and their fields connected with DN_GETVALUE.

2. FarSettingsHistoryPlugin.->FarSettingsHistory.PluginId.

3. FARMACROVARTYPE is numbered from 0.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. человеческие имена для структур и их полей, связанных с DN_GETVALUE.

2. FarSettingsHistoryPlugin.->FarSettingsHistory.PluginId.

3. FARMACROVARTYPE нумеруется с 0.

--------------------------------------------------------------------------------
zg 2011-10-23 21:11:21+02:00 - build 2245

1. when replacing "folder shorcuts" from plugin's one to real path, not all fields were cleared.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. при замене "folder shorcuts" с плагинового на реальный путь не все поля очищались.

--------------------------------------------------------------------------------
zg 2011-10-23 20:56:26+02:00 - build 2244

1. obtain information on "folder shorcuts" in the same manner as for histories.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. получение информации о "folder shorcuts" аналогичным для историй образом.

--------------------------------------------------------------------------------
zg 2011-10-23 19:47:51+02:00 - build 2243

1. additional parameters are returned for histories.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. для историй возвращаются дополнительные параметры.

--------------------------------------------------------------------------------
zg 2011-10-22 23:54:52+02:00 - build 2242

1. alignment of data returned by FCTL_GET*PANELITEM.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. выравнивание данных, возвращаемых FCTL_GET*PANELITEM.

--------------------------------------------------------------------------------
zg 2011-10-22 03:52:53+02:00 - build 2241

1. correction of 2240.2 for capital letters.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 2240.2 для случая заглавных букв.

--------------------------------------------------------------------------------
zg 2011-10-22 03:17:46+02:00 - build 2240

1. input of RAlt+character was broken in 2127.

2. ibid, CtrlRAlt started adding to characters typed in with RAlt.

3. KEY_CTRLALTSHIFTPRESS does not arrive when RAlt or RCtrl is pressed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. в 2127 сломали ввод RAlt+символ.

2. тогда же к символам, введённым через RAlt стало добавлятся CtrlRAlt.

3. KEY_CTRLALTSHIFTPRESS не приходит, если нажаты RAlt или RCtrl.

--------------------------------------------------------------------------------
zg 2011-10-21 23:56:07+02:00 - build 2239

1. SavePluginFoldersHistory option is removed.

2. plugins are always added to history and if a plugin behaves correctly then jump from history is available.
   old history.db must be deleted.

3. fix for a crash when jumping from inside a file with a folder shortcut into another file processed with the same plugin.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. опция SavePluginFoldersHistory удалена.

2. плагины добавляются в историю всегда и если плагин корректно себя ведёт, переход из истории работает.
   старую history.db надо удалить.

3. исправлено падение, когда находясь внутри файла переходим по folder shortcut внутрь другого файла, обрабатываемого тем же плагином.

--------------------------------------------------------------------------------
zg 2011-10-21 09:36:48+02:00 - build 2238

1. Folder Shortcuts stores Guid for plugins, not a module name.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Folder Shortcuts для плагинов сохраняет Guid, а не имя модуля.

--------------------------------------------------------------------------------
zg 2011-10-20 17:25:55+02:00 - build 2237

1. correction of 2232.1. return time in UTC and the lock flag.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 2232.1. возвращаем время в UTC и залоченность.

--------------------------------------------------------------------------------
zg 2011-10-20 15:58:27+02:00 - build 2236

1. tdm64-gcc build: make DIRBIT=64 -f makefile_gcc.

--------------------------------------------------------------------------------
drkns 2011-10-20 14:15:52+03:00 - build 2235

1. Before codepage change, conversion correctness check is performed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Перед сменой кодовой страницы выполняется проверка корректности преобразования.

--------------------------------------------------------------------------------
drkns 2011-10-20 09:40:46+03:00 - build 2234

1. If codepage change in editor has messed up the text, do not remember the codepage.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Если смена кодовой страницы редактора испортила текст - не будем запоминать эту страницу.

--------------------------------------------------------------------------------
w17 2011-10-20 09:49:18+04:00 - build 2233

1. Makeup for #1905

--------------------------------------------------------------------------------
zg 2011-10-20 01:33:55+02:00 - build 2232

1. experimental obtaining of FAR settings via SettingsControl. History only so far.
   id must be set to FarGuid, the command is SCTL_ENUM, Root must be set to one of
   FARSETTINGS_SUBFOLDERS values.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. экспериментальное получение настроек фара через SettingsControl. Пока только истории.
   в качестве id нужно передавать FarGuid, получение с помощью SCTL_ENUM, Root должен быть
   установлен в одно из значений FARSETTINGS_SUBFOLDERS.

--------------------------------------------------------------------------------
w17 2011-10-19 22:36:30+04:00 - build 2231

1. Mantis #1905 again

--------------------------------------------------------------------------------
zg 2011-10-19 17:15:15+02:00 - build 2230

1. DM_ADDHISTORY crashed for created but not shown dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. DM_ADDHISTORY падал для созданного, но не показанного диалога.

--------------------------------------------------------------------------------
w17 2011-10-19 18:02:30+04:00 - build 2229

1. 1905: viewer dump mode

--------------------------------------------------------------------------------
zg 2011-10-19 14:50:58+02:00 - build 2228

1. wrapper: correction of DM_LISTGETDATA and DM_LISTSETDATA.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. враппер: испрвлены DM_LISTGETDATA и DM_LISTSETDATA.

--------------------------------------------------------------------------------
drkns 2011-10-19 08:39:52+03:00 - build 2227

1. [x] Clock in viewer and editor

--------------------------------------------------------------------------------
drkns 2011-10-18 19:17:20+02:00 - build 2226

1. Waiting cancellation possibility for "far /v -".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Возможность отмены ожидания для "far /v -".

--------------------------------------------------------------------------------
drkns 2011-10-18 19:03:32+02:00 - build 2225

1. Correction of 2224.1.

--------------------------------------------------------------------------------
drkns 2011-10-18 14:33:06+03:00 - build 2224

1. Now synchronous I/O operations can be interrupted (hello goes to Network plugin). Ctrl-Break.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Теперь можно прерывать синхронные операции ввода-вывода (привет network-плагину). Ctrl-Break.

--------------------------------------------------------------------------------
w17 2011-10-16 12:39:32+04:00 - build 2223

1. Mantis#1791: "Cannot find the file" on F5 after Ctrl+Tab from a file saved in editor

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1791: "Cannot find the file" по F5 после Ctrl+Tab из сохранённого в редакторе файла

--------------------------------------------------------------------------------
drkns 2011-10-14 18:30:56+02:00 - build 2222

1. "Inactivity time" option no longer exists.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Опции "Inactivity time" больше нет.

--------------------------------------------------------------------------------
w17 2011-10-14 18:01:33+04:00 - build 2221

1. Mantis#1823: Viewer auto-update on flash drives

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1823: Автообновление вьювера на флешках

--------------------------------------------------------------------------------
svs 2011-10-13 17:44:03+04:00 - build 2220

1. Mantis#0001882: Enable "hooking" of Dlg.GetValue and ItemCount/CurPos macrofunctions in dialogs.

   Correction of DN_GETVALUE

   ACHTUNG!
      Indices in macros start with 1, opposed to 0 in API.

   In macros: dlg.getvalue(Index,TypeInf)

     If (Index > 0  && Index <= DlgItemCount)
     {
        see dlg.getvalue description (just consider that the plugin receives Index-1)
        /*
           DlgItemCount is got via dlggetvalueFunc(0,0)
        */
        It returns to the macro exactly what the plugin has returned.
        /*
          Here the plugin can return FMVT_INTEGER/FMVT_UNKNOWN or FMVT_DOUBLE or FMVT_STRING.
        */
     }

     If (Index > DlgItemCount)
     {
        1) the plugin receives (DN_GETVALUE,Index-1,{FMVT_INTEGER,TypeInf}) in its dialog procedure.
           /*
              FMVT_INTEGER - exactly, in order to simplify the description :-)
           */
        2) The macro receives exactly what the plugin has returned.
           /*
             Here the plugin can return FMVT_INTEGER/FMVT_UNKNOWN or FMVT_DOUBLE or FMVT_STRING.
           */
     }

     If (Index == 0) // this is about the dialog
     {
        If (TypeInf is 0 to 6)   // "6" - so far, may be expanded in the future :-)
        {
           see dlg.getvalue description (just consider that the plugin receives Index-1, i.e. -1)
           The macro receives exactly what the plugin has returned.
           /*
             Here the plugin can return FMVT_INTEGER/FMVT_UNKNOWN or FMVT_DOUBLE or FMVT_STRING.
           */
        }
        Else
        {
           the dialog procedure receives the value {FMVT_UNKNOWN, 0} (the plugin gets Index-1, i.e. -1)
        }
     }

     If (the current domain is not a dialog) or (Index < DlgItemCount and an inner error has taken place)
     {
        the plugin does not get DN_GETVALUE.
     }

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001882: Разрешить "перехват" макрофункций Dlg.GetValue и ItemCount/CurPos в диалогах.

   Уточнение DN_GETVALUE

   АХТУНГ!
      В макросе индексы начинаются с 1, в АПИ с 0.

   В макросе: dlg.getvalue(Index,TypeInf)

     Если (Index > 0  && Index <= DlgItemCount)
     {
        см. описание dlg.getvalue (только учесть, что в плагин пойдет Index-1)
        /*
           DlgItemCount получаем через dlggetvalueFunc(0,0)
        */
        В макрос возвращает в точности то, что вернул плагин.
        /*
          Здесь плагин может вернуть FMVT_INTEGER/FMVT_UNKNOWN или FMVT_DOUBLE или FMVT_STRING.
        */
     }

     Если (Index > DlgItemCount)
     {
        1) плагин в диалоговую процедуру получает (DN_GETVALUE,Index-1,{FMVT_INTEGER,TypeInf}).
           /*
              FMVT_INTEGER - именно так, дабы не усложнять жисть с описанием :-)
           */
        2) В макрос возвращает в точности то, что вернул плагин.
           /*
             Здесь плагин может вернуть FMVT_INTEGER/FMVT_UNKNOWN или FMVT_DOUBLE или FMVT_STRING.
           */
     }

     Если (Index == 0) // это про диалог
     {
        Если (TypeInf от 0 до 6)   // "6" - пока так, дальше смотря что потом добавим :-)
        {
           см. описание dlg.getvalue (только учесть, что в плагин пойдет Index-1, т.е. -1)
           В макрос возвращает в точности то, что вернул плагин.
           /*
             Здесь плагин может вернуть FMVT_INTEGER/FMVT_UNKNOWN или FMVT_DOUBLE или FMVT_STRING.
           */
        }
        Иначе
        {
           в диалоговую процедуру передается значение {FMVT_UNKNOWN, 0} (в плагин пойдет Index-1, т.е. -1)
        }
     }

     Если (текущая область не диалог) или (Index < DlgItemCount и произошла внутренняя ошибка)
     {
        плагин не получит DN_GETVALUE.
     }

--------------------------------------------------------------------------------
svs 2011-10-13 15:23:12+04:00 - build 2219

1. Mantis#0001595: Problems with mmode(1,0) in editor
    mmode(1,0) enables screen displaying.
    Nevertheless, in some cases it's been the case of the editor stay uncolored.

   Catching bugs so far ;-)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001595: Проблемы с mmode(1,0) в редакторе
    mmode(1,0) разрешает отображение на экран.
    Однако в некоторых случаях именно из-за него редактор показывается нераскрашеным.

   Пока так... ловим баги ;-)

--------------------------------------------------------------------------------
svs 2011-10-12 11:38:10+04:00 - build 2218

1. Info panel was not updated after changes made in info panel settings dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не обновлялась Info-панель, если вносили изменения в диалог настройки информационной панели.

--------------------------------------------------------------------------------
w17 2011-10-11 13:49:00+04:00 - build 2217

1. Mantis#1901: Position saved on F6 switching (editor/viewer)

2. Mantis#1766: viewer new version
   Removal of artifacts when searched text gets into WWrap area

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1901: Сохранение позиции при переключении по F6 (редактор/вьювер)

2. Mantis#1766: новая версия вьювера
   Устранение артефактов при попадании искомого текста в область переноса WWrap

--------------------------------------------------------------------------------
svs 2011-10-10 17:21:48+04:00 - build 2216

1. Mantis#0001832: FarNameToInputRecord / FarInputRecordToName  problem
   (from Maximus)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001832: Проблема FarNameToInputRecord / FarInputRecordToName
   (from Maximus)

--------------------------------------------------------------------------------
svs 2011-10-09 15:29:43+04:00 - build 2215

1. Mantis#0001832: FarNameToInputRecord / FarInputRecordToName problem
   (from shmuel)
   "...broken input with Russian keyboard layout in a plugin..."

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001832: Проблема FarNameToInputRecord / FarInputRecordToName
   (from shmuel)
   "...отвалился ввод букв в русской раскладке в одном из плагинов..."

--------------------------------------------------------------------------------
svs 2011-10-06 16:08:21+04:00 - build 2214

1. Mantis#0001832: FarNameToInputRecord / FarInputRecordToName problem
   (from Maximus)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001832: Проблема FarNameToInputRecord / FarInputRecordToName
   (from Maximus)

--------------------------------------------------------------------------------
drkns 2011-10-06 13:33:04+02:00 - build 2213

1. And more.

--------------------------------------------------------------------------------
drkns 2011-10-05 16:46:24+02:00 - build 2212

1. More on #1899.

--------------------------------------------------------------------------------
svs 2011-10-05 11:40:27+04:00 - build 2211

1. Mantis#0001899: Show information on plugin (GUID etc.) in F11/F4
   (from Maximus)
   F3 invokes a dialog containing technical information on the plugin.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001899: Показать информацию от плагине (GUID и т.п.) из F11/F4
   (from Maximus)
   Клавиша F3 вызывает диалог с технической информацией по плагину.

--------------------------------------------------------------------------------
svs 2011-10-04 10:07:48+04:00 - build 2210

1. Mantis#0001766: Viewer new version
   (from 2useven10)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001766: Новая версия вьювера
   (from 2useven10)

--------------------------------------------------------------------------------
svs 2011-10-03 12:02:41+04:00 - build 2209

1. Mantis#0001529: Incorrect action of setposidx macrofunction

2. SQLite updated to "3.7.8"

3. In the wake of "0001897: cannot build Far 3.0 with gcc" - "Include".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001529: Неправильное действие макрофункции setposidx

2. Обновим SQLite до "3.7.8"

3. По мотивам "0001897: Far 3.0 не собирается в gcc" - "Include".

--------------------------------------------------------------------------------
svs 2011-10-01 10:20:58+04:00 - build 2208

1. Mantis#0001677: Set "starting" key code with MCMD_POSTMACROSTRING on macro start

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001677: При запуске макроса через MCMD_POSTMACROSTRING задавать код "запускающей" клавиши

--------------------------------------------------------------------------------
svs 2011-09-30 15:09:04+04:00 - build 2207

1. Mantis#0001898: bugs in editor drawing after macro finish
   (from Maximus)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001898: Глюки отрисовки редактора после выполнения макросов
   (from Maximus)

--------------------------------------------------------------------------------
svs 2011-09-29 09:49:28+04:00 - build 2206

1. Mantis#0001766: Viewer new version
   (from 2useven10)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001766: Новая версия вьювера
   (from 2useven10)

--------------------------------------------------------------------------------
drkns 2011-09-27 21:38:14+02:00 - build 2205

1. Mantis#0001894: Plugin list display inaccuracy.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001894: Неточности отображения списка плагинов.

--------------------------------------------------------------------------------
drkns 2011-09-26 08:58:57+02:00 - build 2204

1. Correction of types in plugin.hpp

--------------------------------------------------------------------------------
drkns 2011-09-25 19:11:11+02:00 - build 2203

1. FarListTitles.TitleLen => FarListTitles.TitleSize,
   FarListTitles.BottomLen => FarListTitles.BottomSize.

--------------------------------------------------------------------------------
svs 2011-09-23 10:29:38+04:00 - build 2202

1. Mantis#0001888: [A|P]Panel.Format

2. Mantis#0001887: FCTL_GETPANELPREFIX
   Panel API: added FCTL_GETPANELPREFIX

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001888: [A|P]Panel.Format

2. Mantis#0001887: FCTL_GETPANELPREFIX
   Panel API: добавлен FCTL_GETPANELPREFIX

--------------------------------------------------------------------------------
drkns 2011-09-22 11:03:59+02:00 - build 2201

1. Mantis#0001883: Spaces generated in editor when using numeric keypad.

--------------------------------------------------------------------------------
drkns 2011-09-20 11:28:28+02:00 - build 2200

1. Console color is restored after applications launch.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. После запуска программ восстанавливается цвет консоли, который был до запуска.

--------------------------------------------------------------------------------
svs 2011-09-19 09:48:39+04:00 - build 2199

1. Mantis#0001882: Enable "interception" of Dlg.GetValue and ItemCount/CurPos macrofunctions in dialogs.

   A new notification message for dialog procedures is added: DN_GETVALUE (=4118)
   DN_GETVALUE is sent to the dialog procedure each time when Dlg.GetValue(), ItemCount and CurPos occur in macros.

     Param1 = dialog item number
     Param2 = pointer to TFarGetValue structure (filled in)

     The plugin returns:
       0 - macro engine ignores it
       1 - Param2 contains modified data - macro engine takes the data.

     Here TFarGetValue is:

      struct FarMacroValue
      {
      	enum FARMACROVARTYPE type;
      	union
      	{
      		__int64  i;
      		double   d;
      		const wchar_t *s;
      	} Value;
      };

     the type of the variable:

      enum FARMACROVARTYPE
      {
      	FMVT_UNKNOWN                = -1,
      	FMVT_INTEGER                = 0,
      	FMVT_STRING                 = 1,
      	FMVT_DOUBLE                 = 2,
      };

   Dlg.GetValue() call is done for any dialog item.
   ItemCount and CurPos - for ListBox, opened Combobox and usercontrol only.
   Macro engine "calculates" needed data at first, then asks the dialog procedure
   for confirmation "is it right? if it isn't then correct it". In case of positive answer (!= 0)
   it places data returned by the dialog procedure into the stack.

2. Macro: For Dlg.GetValue(), Type = 11 is added for ListBox and opened Combobox:
    Number, "return list items number".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001882: Разрешить "перехват" макрофункций Dlg.GetValue и ItemCount/CurPos в диалогах.

   Добавлено новое нотификационное сообщение для диалоговых процедур DN_GETVALUE (=4118)
   DN_GETVALUE посылается в диалоговую процедуру всякий раз, когда в макросах встречается
   Dlg.GetValue(), ItemCount и CurPos.

     Param1 = номер элемента диалога
     Param2 = указатель на структуру TFarGetValue (заполненные)

     Плагин возвращает:
       0 - макродвиг игнорирует
       1 - в Param2 модифицированные данные - макродвиг берет эти данные.

     Здесь TFarGetValue:

      struct FarMacroValue
      {
      	enum FARMACROVARTYPE type;
      	union
      	{
      		__int64  i;
      		double   d;
      		const wchar_t *s;
      	} Value;
      };

     тип переменной:

      enum FARMACROVARTYPE
      {
      	FMVT_UNKNOWN                = -1,
      	FMVT_INTEGER                = 0,
      	FMVT_STRING                 = 1,
      	FMVT_DOUBLE                 = 2,
      };

   Dlg.GetValue() вызов идет для любого элемента диалога.
   ItemCount и CurPos - только для ListBox, раскрытого Combobox и usercontrol.
   Макродвижок сначала "вычисляет" требуемые данные, затем спрашивает диалоговую
   процедуру "оно? если не оно - скорректируй". В случае положительного ответа (!= 0)
   подсовывает в стек данные, которые вернула диалоговая процедура.

2. Macro: Для Dlg.GetValue() добавлен Type = 11 для ListBox и раскрытого Combobox:
    Number, "вернуть количество элементов списка".

--------------------------------------------------------------------------------
svs 2011-09-13 15:28:38+04:00 - build 2198

1. Mantis#0001785: A problem with launch if the command line contains "="
   (from 2useven10)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001785: Проблема с запуском если в командной строке присутствует знак "="
   (from 2useven10)

--------------------------------------------------------------------------------
svs 2011-09-12 14:35:48+04:00 - build 2197

1. Mantis#0001873: Highlighted keys in Options - System settings
   (from Raistlin)

2. Some corrections in lng (translation, hotkeys)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001873: Подсвеченные клавиши в Параметры - Системные параметры
   (from Raistlin)

2. Немного уточнений в lng (переводы, горячие клавиши)

--------------------------------------------------------------------------------
drkns 2011-09-12 13:23:34+02:00 - build 2196

1. In some cases, console output could be lost partially after applications run.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В некоторых случаях могла теряться часть консольного вывода после запуска программ.

--------------------------------------------------------------------------------
svs 2011-09-12 09:46:52+04:00 - build 2195

1. Mantis#0001766: Viewer new version
   (from 2useven10)

   "...started noticing the last viewer version incorrectly display
   first lines when '[x] Save view and edit history' is on.
   i'm watching it in changelog, i.e. watch the current revision, then
   do "svn up" in a few days, open changelog in viewer -
   first lines float all over the screen in some incomprehensible manner.
   After Home and reopen it settles down..."

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001766: Новая версия вьювера
   (from 2useven10)

   "...стал замечать, что вьювер последних версий стал некорректно отображать
   первые строки при включенной опции [x] Save view and edit history.
   замечаю на файле changelog, т.е. смотрю его для текущей ревизии, через
   несколько дней делаю "svn up", открываем на просмотр файл changelog -
   первые строки на экране непонятно как плавают. делаем Home и
   переоткрытие - становится потребно..."

--------------------------------------------------------------------------------
svs 2011-09-09 17:32:26+04:00 - build 2194

1. Mantis#0000698: Fast search improvement
   The first approximation. So far, it is not included into main compilation (until Mantis_698 define is specified)
   Fast search is implemented for all visible fields.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000698: Улучшение быстрого поиска
   Первое приближение. Пока не входит в состав основной компиляции (пока не указан дефайн Mantis_698)
   Реализован быстрый поиск по всем всем значениям видимых полей.

--------------------------------------------------------------------------------
svs 2011-09-05 19:46:49+04:00 - build 2193

1. Mantis#0001869: panel.select(0,1,2,clip(0)) does not mark files with names containing a comma
   <ACHTUNG>

      For Items string values in panel.select():
      Elements must be separated with Lf ("\n") or CrLf ("\r\n").

   </ACHTUNG>

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001869: panel.select(0,1,2,clip(0)) не помечает файлы, в имени которых есть запятая
   <АХТУНГ>

      Для строковых значений Items в panel.select():
      Элементы должны быть разделены с помощью Lf ("\n") или CrLf ("\r\n").

   </АХТУНГ>

--------------------------------------------------------------------------------
svs 2011-09-05 19:05:38+04:00 - build 2192

1. Mantis#0001871: Drawing bug in editor

--------------------------------------------------------------------------------
drkns 2011-09-05 09:11:02+02:00 - build 2191

1. A new flag in EDITORCOLORFLAGS: ECF_TABMARKCURRENT. It is similar to ECF_TAB1, but instead of first TAB character, the one matching to editor's cursor horizontal coordinate is colored.

2. ECF_TAB1 is renamed to ECF_TABMARKFIRST.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Новый флаг в EDITORCOLORFLAGS: ECF_TABMARKCURRENT. Подобен ECF_TAB1, но раскрашивается не первый символ табуляции, а совпадающий с горизонтальной координатой курсора редактора.

2. ECF_TAB1 переименован в ECF_TABMARKFIRST.

--------------------------------------------------------------------------------
zg 2011-09-04 14:40:56+02:00 - build 2190

1. ACTL_WAITKEY: Param1=0, Param2 - pointer to INPUT_RECORD or NULL for any other key.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. ACTL_WAITKEY: Param1=0, Param2 - указатель на INPUT_RECORD или NULL для любой клавиши.

--------------------------------------------------------------------------------
zg 2011-09-03 13:06:29+02:00 - build 2189

1. FarMenuItem.AccelKey now has FarKey type.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. FarMenuItem.AccelKey теперь имеет тип FarKey.

--------------------------------------------------------------------------------
svs 2011-09-02 09:26:36+03:00 - build 2188

1. Correction of build 2187

--------------------------------------------------------------------------------
svs 2011-09-01 22:03:43+03:00 - build 2187

1. Mantis#0001743: Possibility of switching the history off
   prompt() - if non-empty `history` is given, then force history setting (at the time of calling this function).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001743: Возможность отключения истории
   prompt() - если указан не пустой history, то принудительно выставляем историю (на время вызова этой функции).

--------------------------------------------------------------------------------
svs 2011-09-01 17:34:54+03:00 - build 2186

1. debug compilation minor issues

2. Command line keys /clearcache, /export and /import are included in the help

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. мелочи дебажной компиляции

2. В хелп добавлены описания ключей ком.строки /clearcache, /export и /import

--------------------------------------------------------------------------------
drkns 2011-09-01 15:07:03+02:00

1. Correction of 2185.2 - manual synchronization.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 2185.2 - синхронизация вручную.

--------------------------------------------------------------------------------
drkns 2011-09-01 14:15:09+02:00 - build 2185

1. Include\DlgBuilder.hpp is now generated like other headers.

2. On svn_tag_build.bat run a headers synchronization attempt is done in ..\plugins\common\unicode too.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Include\DlgBuilder.hpp теперь генерируется аналогично остальным заголовкам.

2. При исполнении svn_tag_build.bat теперь производится попытка синхронизировать заголовки и в ..\plugins\common\unicode.

--------------------------------------------------------------------------------
drkns 2011-08-31 15:55:08+02:00 - build 2184

1. ECTL_PROCESSKEY is removed.

--------------------------------------------------------------------------------
svs 2011-08-30 10:43:11+03:00 - build 2183

1. Mantis#0001866: Make all prompt() parameters optional
   correction of build 2182

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001866: Сделать все параметры prompt() необязательными
   уточнение build 2182

--------------------------------------------------------------------------------
svs 2011-08-30 10:16:23+03:00 - build 2182

1. Mantis#0001863: Omitted string as the parameter of a function

   !!!Highly experimental, tested on `prompt` and `msgbox` only!!!

   Now parameters can be skipped :-)

   For example,
     prompt("Title","Text",0x08,,"History")
   works the same way as
     prompt("Title","Text",0x08,"","History")

2. Mantis#0001866: Make all prompt() parameters optional

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001863: Отсутствие строки как параметр функции

   !!!Крайне экспериментально, проверено только на prompt и msgbox!!!

   Теперь параметры можно не указывать :-)

   Например,
     prompt("Title","Text",0x08,,"History")
   работает так же, как и
     prompt("Title","Text",0x08,"","History")

2. Mantis#0001866: Сделать все параметры prompt() необязательными

--------------------------------------------------------------------------------
svs 2011-08-29 14:39:57+03:00 - build 2181

1. Mantis#0001864: Debug version crash when executng a written macro

2. Mantis#0001856: bringing to common UserData
   (from samlyukov)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001864: Падение отладочной версии при выполнении записанного макроса

2. Mantis#0001856: приведение к общему UserData
   (from samlyukov)

--------------------------------------------------------------------------------
drkns 2011-08-29 08:42:09+02:00 - build 2180

1. Correction of 2179.2.

--------------------------------------------------------------------------------
drkns 2011-08-28 17:57:54+02:00 - build 2179

1. Mantis#0001865: initialization of the colors array in dialog.cpp

2. A couple of minor issues.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001865: Инициализация массивов цветов в dialog.cpp

2. Пара мелочей.

--------------------------------------------------------------------------------
svs 2011-08-28 15:26:06+03:00 - build 2178

1. Mantis#0001766: Viewer new version
   (from 2useven10)
   Automatic scroll optimization for Win7.
   The cache is not reset if the file is just growing.
   On XP, the effect is negligible.

2. Mantis#0001846: Incorrect reaction to mouse click in F1

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001766: Новая версия вьювера
   (from 2useven10)
   Оптимизация автоскролла для Win7.
   Не сбрасываем кеш, если файл просто растёт.
   На XP эффект почти нулевой.

2. Mantis#0001846: Некорректная реакция на клик мышки в F1

--------------------------------------------------------------------------------
drkns 2011-08-27 16:40:43+02:00 - build 2177

1. Warnings.

2. The structures are redone again, now for x86 too.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Warnings.

2. Снова перетасовка структур, теперь и для x86.

--------------------------------------------------------------------------------
drkns 2011-08-27 11:28:44+02:00 - build 2176

1. Correction of 2175.1.

--------------------------------------------------------------------------------
drkns 2011-08-26 16:54:08+02:00 - build 2175

1. ClearStruct() and ClearArray() templates for zero filling structures and arrays, which set the correct size automatically.
   <ACHTUNG>Use them instead of memset.</ACHTUNG>

2. The size was not always filled in PluginInfo.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Для обнуления структур и массивов теперь есть шаблоны ClearStruct() и ClearArray(), которые сами подставят правильный размер.
   <АХТУНГ>Используем их, а не memset.</АХТУНГ>

2. Не всегда заполнялся размер в PluginInfo.

--------------------------------------------------------------------------------
zg 2011-08-25 23:22:28+02:00 - build 2174

1. Mantis#0001864: Debug version crash on recorded macro run.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001864: Падение отладочной версии при выполнении записанного макроса.

--------------------------------------------------------------------------------
drkns 2011-08-25 22:47:06+02:00 - build 2173

1. Warnings.

2. Some structures are changed for more optimal layout in x64. The plugins must be rebuilt.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Warnings.

2. Некоторые структуры перетасованы для более оптимального размещения в x64. Плагины надо пересобрать.

--------------------------------------------------------------------------------
svs 2011-08-25 16:22:47+03:00 - build 2172

1. Mantis#0001858: Return 0 on prompt() dialog close with Esc

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001858: Возвращать 0 при закрытии диалога prompt() по Esc

--------------------------------------------------------------------------------
svs 2011-08-25 16:01:01+03:00 - build 2171

1. Keyboard engine being rewritten. The beginning.

   Macro::ProcessKey(int) -> Macro::ProcessEvent(FAR_INPUT_RECORD)

    struct FAR_INPUT_RECORD
    {
      DWORD IntKey;
      INPUT_RECORD Rec;
    };
    if IntKey == 0, then looking to Rec, else IntKey is containing KEY_

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Переделка клавиатурного движка. Начало.

   Macro::ProcessKey(int) -> Macro::ProcessEvent(FAR_INPUT_RECORD)

    struct FAR_INPUT_RECORD
    {
      DWORD IntKey;
      INPUT_RECORD Rec;
    };
    если IntKey == 0, то смотрим Rec, иначе в IntKey содержится KEY_

--------------------------------------------------------------------------------
drkns 2011-08-25 11:48:38+02:00 - build 2170

1. Typo in 2169.

--------------------------------------------------------------------------------
drkns 2011-08-25 11:36:00+02:00 - build 2169

1. Mantis#0001862: Static analysis of the code.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001862: Статический анализ кода.

--------------------------------------------------------------------------------
svs 2011-08-25 11:32:30+03:00 - build 2168

1. Mantis#0001861: "File selection" chapter
   (from Maximus)
   "File selection" is updated.

2. Mantis#0001832: FarNameToInputRecord / FarInputRecordToName problem
   (from Maximus)
   Right CtrlShiftDot was broken in macro recording.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001861: Раздел "Пометка файлов"
   (from Maximus)
   Доработан, дополнен раздел "Пометка файлов".

2. Mantis#0001832: Проблема FarNameToInputRecord / FarInputRecordToName
   (from Maximus)
   Отвалился правый CtrlShiftDot при записи макроса.

--------------------------------------------------------------------------------
drkns 2011-08-25 10:05:45+02:00 - build 2167

1. Mantis#0001833: File search is not thread safe.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001833: Поиск файлов - не ThreadSafe.

--------------------------------------------------------------------------------
drkns 2011-08-25 09:54:06+02:00 - build 2166

1. Mantis#0001860: In CtrlL, text labels from plugin are drawn with the border color.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001860: В CtrlL текстовые метки из плагина отрисовываются цветом рамки.

--------------------------------------------------------------------------------
drkns 2011-08-24 23:47:55+02:00 - build 2165

1. A critical section instead of a mutex in PluginSynchro.

2. A couple of minor issues.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В PluginSynchro вместо мьютекса теперь критическая секция.

2. Пара мелочей.

--------------------------------------------------------------------------------
svs 2011-08-24 17:15:00+03:00 - build 2164

1. FSF.FarNameToInputRecord returns TRUE even if a non-existing key name is passed, for example, "foobar".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. FSF.FarNameToInputRecord возвращает TRUE, даже если передать несуществующее имя клавиши, например "foobar".

--------------------------------------------------------------------------------
zg 2011-08-23 22:43:26+02:00 - build 2163

1. macros added with MCTL_ADDMACRO are always checked in the same order.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. макросы, добавленные по MCTL_ADDMACRO всегда проверяются в одинаковом порядке.

--------------------------------------------------------------------------------
zg 2011-08-23 22:11:33+02:00 - build 2162

1. MCTL_ADDMACRO: correction for several macros bound to the same key.

2. correction of deallocation of memory occupied by macros on FAR exit.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. MCTL_ADDMACRO: уточнение для нескольких макросов, добавленныйх на одно сочетание клавишь.

2. уточнение освобождения памяти, занятой макросами, при выходе из фара.

--------------------------------------------------------------------------------
svs 2011-08-23 21:49:44+03:00 - build 2161

1. Mantis#0001858: Return 0 when closing the prompt() dialog with Esc
   - 0x01 flag is forced, i.e. prompt returns an empty string when Enter is hit on the empty input line
   - for Esc, numeric 0 is returned instead of a string (implemented in build 2160 :-)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001858: Возвращать 0 при закрытии диалога prompt() по Esc
   - флаг 0x01 принудительно высталяется, т.е. prompt по Enter при пустой строке ввода возвращает таки пустую строку
   - для Esc возвращается не строка, а число = 0 (сделано в build 2160 :-)

--------------------------------------------------------------------------------
zg 2011-08-23 19:43:46+02:00 - build 2160

1. correction of 2159.3.

--------------------------------------------------------------------------------
zg 2011-08-23 17:33:27+02:00 - build 2159

based on Mantis#0001486

1. MacroControl first parameter is the plugin's GUID.

2. MCTL_ADDMACRO: new API for adding a macro into "memory".
   Param1 - 0
   Param2 - MacroAddMacro pointer.
   MacroAddMacro:
     Flags - flags as in MCTL_SENDSTRING.
     AKey - key which the macro is bound to.
     SequenceText - the text of the macro.
     Description - the description of the macro.
     Id - an identifier which is unique throughout the plugin.
     Callback - a function called before the macro is run. the first parameter is the macro ID. it may check something and return TRUE, meaning whether to run the macro, or FALSE - not to run.
   all macros are added into the Common area.

3. MCTL_DELMACRO delete a macro.
   Param1 - 0
   Param2 - Id of the macro.

· · · · · · · · · · · · · · · · · · · · · · · · ·

по мотивам Mantis#0001486

1. первый параметр MacroControl - гуид плагина.

2. MCTL_ADDMACRO: новое апи для добавления макроса в "память".
   Param1 - 0
   Param2 - указатель MacroAddMacro.
   MacroAddMacro:
     Flags - флаги как в MCTL_SENDSTRING.
     AKey - клавиша, на которую назначается макрос.
     SequenceText - текст макроса.
     Description - описание макроса.
     Id - уникальный в рамках плагина идентефикатор.
     Callback - функция, вызываемая перед собственно выполнением макроса. первый параметр - Id макроса. можно проверить что-то и вернуть TRUE - исполнять или FALSE - не исполнять.
   все макросы добавляются в область common.

3. MCTL_DELMACRO удалить макрос.
   Param1 - 0
   Param2 - Id удаляемого макроса.

--------------------------------------------------------------------------------
drkns 2011-08-23 15:46:49+02:00 - build 2158

1. In editor status line, the character index is displayed in addition to the column index.

2. Now AltF8 in editor jumps to line/character instead of line/column.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В статусе редактора помимо номера колонки отображается номер символа.

2. Переход по AltF8 в редакторе теперь не на строку/колонку, а на строку/символ.

--------------------------------------------------------------------------------
drkns 2011-08-23 10:41:13+02:00 - build 2157

1. Typo in 2155.

2. Correction of 2105 - Menu() second parameter was mandatory.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Опечатка в 2155.

2. Уточнение 2105 - второй параметр Menu() был обязательным.

--------------------------------------------------------------------------------
svs 2011-08-22 17:53:53+03:00 - build 2156

1. Now all enum's in plugin.hpp contain explicit values of public constants (everything inside FAR_USE_INTERNALS is an exception).

   <ACHTUNG>

     Set explicit constant values when adding them into plugin.hpp!

   </ACHTUNG>

   PS.
     Now one can group the constants meaningfully in bounds of a single enum (for instance, in FARMESSAGE)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Теперь в plugin.hpp во всех enum явно прописаны значения публичных констант (все что внутри FAR_USE_INTERNALS - исключение).

   <АХТУНГ>

     При добавлении новых констант в plugin.hpp, явно прописывать их значения!

   </АХТУНГ>

   ЗЫ.
     Теперь можно сгруппировать константы по смыслу в пределах одного enum (например, в FARMESSAGE)

--------------------------------------------------------------------------------
drkns 2011-08-22 14:04:40+02:00 - build 2155

1. imports.?pp refactoring

2. Other minor issues.

--------------------------------------------------------------------------------
svs 2011-08-22 11:33:37+03:00 - build 2154

1. Mantis#0001792: Add FAR Process ID to info panel and window header

   "%PID" variable is added to the header template (Options -> Interface settings -> Far window title addons) containing
   the process ID of Far Manager current instance.

2. Macro: Far.PID variable is added, containing the process ID of Far Manager current instance.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001792: Добавить FAR Process ID в информационную панель и заголовок окна

   В шаблон заголовка (Options -> Interface settings -> Far window title addons) добавлена
   переменная "%PID", содержащая ИД текущей запущенной копии Far Manager.

2. Macro: добавлена переменная Far.PID, содержащая ИД текущей запущенной копии Far Manager.

--------------------------------------------------------------------------------
drkns 2011-08-17 15:43:18+02:00 - build 2153

1. Smart ARRAYSIZE() for gcc.

2. C++0x warnings.

3. makefile_gcc can work without msys.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Интеллектуальный std::size() для gcc.

2. C++0x warnings.

3. makefile_gcc может работать без msys.

--------------------------------------------------------------------------------
svs 2011-08-16 14:08:31+03:00 - build 2152

1. Mantis#0001843: Panel displaying error on menu.show
   (from DAtaMan)

     macro:post menu.Show("AAA\r\nBBB")
     while the menu is active, change something in the folder that is opened on the panel
     the panel is reread, updated and overwrites the menu partially (over the panel)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001843: Ошибка отрисовки панели при menu.show
   (from DAtaMan)

     macro:post menu.Show("AAA\r\nBBB")
     пока меню висит - поменять что-нибудь в папке, открытой на панели
     панель перечитывается, обновляется, затирает часть меню (которая над панелью)

--------------------------------------------------------------------------------
svs 2011-08-16 12:50:50+03:00 - build 2151

1. Mantis#0001848: The macro area is corrupted after return from modal editor

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001848: После возврата из модального редактора сбивается макрообласть

--------------------------------------------------------------------------------
svs 2011-08-16 11:17:45+03:00 - build 2150

1. Mantis#0001852: Timer macro command
   (DAtaMan + svs)
   "Far.UpTime" variable is added - how much time (in milliseconds) the Far Manager instance has been running.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001852: Макрокоманда Timer
   (DAtaMan + svs)
   Добавлена переменная "Far.UpTime" - сколько времени (миллисекунды) запущена эта копия Far Manager.

--------------------------------------------------------------------------------
drkns 2011-08-15 14:46:13+02:00 - build 2149

1. File highlighting storage format is changed. The old highlight.db must be deleted.

2. A couple of corrections in processing of console closing.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Изменён формат хранения раскраски файлов. Старый highlight.db надо удалить.

2. Пара уточнений в обработке закрытия консоли.

--------------------------------------------------------------------------------
drkns 2011-08-14 21:42:30+02:00 - build 2148

1. Folder Shortcuts have got new default behavior.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. У Folder Shortcuts по умолчанию новое поведение.

--------------------------------------------------------------------------------
drkns 2011-08-14 16:12:58+02:00 - build 2147

1. Continuation of 908.1 - now it also works with gcc.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 908.1 - теперь работает и для gcc.

--------------------------------------------------------------------------------
drkns 2011-08-12 18:55:54+02:00 - build 2146

1. In 2127, folder shortcuts were broken.

--------------------------------------------------------------------------------
drkns 2011-08-12 15:28:28+02:00 - build 2145

1. A couple of new options in panel settings: "Highlight column separators", "Double global column separators".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Пара новых опций в настройках панели: "Подсвечивать разделители колонок", "Удваивать глобальные разделители колонок".

--------------------------------------------------------------------------------
svs 2011-08-12 09:36:55+03:00 - build 2144

1. Mantis#0001849: Hotkeys do not work in user menu (F2)
   (from Maximus)
   Any hotkey causes one level up transition if the last (empty) item is selected in F2

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001849: Не срабатывают хоткеи в меню пользователя (F2)
   (from Maximus)
   Любой хоткей вызывает переход на уровень вверх, если выделен последний (пустой) пункт в F2

--------------------------------------------------------------------------------
svs 2011-08-12 09:32:28+03:00 - build 2143

1. Mantis#0001766: Viewer new version
   (from 2useven10)
    Another correction for automatic scrolling.
    'Excessive' code has proved to be useful.
    Thanks to Dzirt2005 for diagnostics.
    The problem took part when batch file output was redirected to the file being viewed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001766: Новая версия вьювера
   (from 2useven10)
    Ёще одна поправка для автоскролла.
    'Лишний' код оказался нужным.
    Спасибо Dzirt2005 за диагностику.
    Проявлялось, если вывод батника перенаправить в просматриваемый файл.

--------------------------------------------------------------------------------
drkns 2011-08-11 16:06:20+02:00 - build 2142

1. Mantis#0001851: "Transparent" flag does not work with default colors for markers in files highlighting.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001851: В раскраске файлов флаг "Прозрачный" для пометок не работает с цветами по-умолчанию.

--------------------------------------------------------------------------------
drkns 2011-08-11 13:44:23+02:00 - build 2141

1. Mantis#0001850: "Transparent" flag state is not saved for marking character in files highlighting.

2. Warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001850: В раскраске файлов не сохраняется состояние флага "прозрачный" для символа пометки.

2. Warnings.

--------------------------------------------------------------------------------
svs 2011-08-09 23:18:26+03:00 - build 2140

1. Mantis#0001832: FarNameToInputRecord / FarInputRecordToName problem
   (from Maximus)
   "Left-side" macro was run in Common area instead of "right-side" one

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001832: Проблема FarNameToInputRecord / FarInputRecordToName
   (from Maximus)
   В области Common вместо "правого" выполнялся "левый" макрос

--------------------------------------------------------------------------------
drkns 2011-08-08 11:37:13+02:00 - build 2139

1. Mantis#0001589: Displaying of file extension in panel column or "Align file extensions"

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001589: Отображать в колонке панели расширение файла или "Align file extensions"

--------------------------------------------------------------------------------
drkns 2011-08-08 10:51:58+02:00 - build 2138

1. And more.

--------------------------------------------------------------------------------
drkns 2011-08-07 00:19:21+02:00 - build 2137

1. Another couple of corrections in color processing.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё пара уточнений в обработке цвета.

--------------------------------------------------------------------------------
drkns 2011-08-06 15:58:22+02:00 - build 2136

1. Correction of file highlighting load/save.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение загрузки/сохранения раскраски файлов.

--------------------------------------------------------------------------------
drkns 2011-08-06 13:02:39+02:00 - build 2135

1. Dependencies & warnings.

--------------------------------------------------------------------------------
drkns 2011-08-06 11:42:59+02:00 - build 2134

1. Mantis#0001844: Exclusion masks do not work

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001844: Не работают маски исключений

--------------------------------------------------------------------------------
drkns 2011-08-05 15:10:25+02:00 - build 2133

1. Warnings.

--------------------------------------------------------------------------------
svs 2011-08-05 12:08:57+03:00 - build 2132

1. Mantis#0001832: FarNameToInputRecord / FarInputRecordToName problem
   (from Maximus)
   1. now it can also be bound to the right button
   2. some formatting
   3. unused KeyMacro::GetRecordSize is commented out with "#if 0"

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001832: Проблема FarNameToInputRecord / FarInputRecordToName
   (from Maximus)
   1. теперь можно повесить и на правую
   2. немного форматирования
   3. неиспользуемая KeyMacro::GetRecordSize убрана под "#if 0"

--------------------------------------------------------------------------------
drkns 2011-08-05 10:11:19+02:00 - build 2131

1. Crash if there was no write access to databases with WAL Journaling Mode (plugin history/cache).

2. Privilege elevation requests are suppressed on volume change.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Если базы данных с WAL Journaling Mode (истории/кеш плагинов) были недоступны для записи - всё падало.

2. При смене диска подавляются запросы повышения прав.

--------------------------------------------------------------------------------
drkns 2011-08-04 23:43:18+02:00 - build 2130

1. FarColor.ForegroundColor and FarColor.BackgroundColor - COLORREF. If FCF_<F|B>G_4BIT  flag is not mentioned, then 0xAABBGGRR formatted color is expected.

2. Generated headers (farcolor.hpp, plugin.hpp) are now compiled during build process (as C and C++) in order to discover possible problems at an earlier stage.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. FarColor.ForegroundColor и FarColor.BackgroundColor - COLORREF. Если флаг FCF_<F|B>G_4BIT не указан, там ожидается цвет в формате 0xAABBGGRR.

2. Сгенерированные заголовки (farcolor.hpp, plugin.hpp) теперь компилируются при сборке (как С и С++), дабы выявлять возможные проблемы на более ранней стадии.

--------------------------------------------------------------------------------
drkns 2011-08-04 12:17:52+02:00 - build 2129

1. And once more.

--------------------------------------------------------------------------------
drkns 2011-08-04 09:17:17+02:00 - build 2128

1. Correction of 2125.1.

--------------------------------------------------------------------------------
svs 2011-08-04 02:55:52+03:00 - build 2127

1. Mantis#0001832: FarNameToInputRecord / FarInputRecordToName problem
   (from Maximus)
   Next...
   - if "right-hand" combinations were not assigned to any reserved actions earlier then FAR acts on them as on "left-hand" ones.
   - RightCtrlLeftAlt+something are not processed in any special way (meaning Right->Left replacement).
   - In macros, as anywhere else, if nothing is assigned to "right-hand" combination, then handle it like the "left-hand" one.

   svs> 255 is changed to 65535

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001832: Проблема FarNameToInputRecord / FarInputRecordToName
   (from Maximus)
   Next...
   - если за "правыми" комбинациями ранее не было зарезервировано каких-либо действия - фар реагирует на них так же как на "левые".
   - Изыски типа ПравыйCtrlЛевыйAlt+что-то - специально никак не обрабатываются (в смысле замен Правый->Левый не производится).
   - В макросах, как и везде, если на "правую" комбинацию ничего специально не было повешено - реагируем так же как на "левую".

   svs> заменил 255 на 65535

--------------------------------------------------------------------------------
drkns 2011-08-03 23:57:15+02:00 - build 2126

1. external rendering support:
   - the values of some FCF_ flags are changed;
   - console.dll -> extendedconsole.dll;
   - selected text in editor retains its extended attributes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. поддержка внешней отрисовки:
   - изменены значения некоторых FCF_-флагов;
   - console.dll -> extendedconsole.dll;
   - выделенный в редакторе текст сохраняет расширенные атрибуты.

--------------------------------------------------------------------------------
drkns 2011-08-03 12:12:12+02:00 - build 2125

1. "Non-4 bit" colors are cast to standard console palette more or less adequately.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Используемые "нечетырёхбитные" цвета при выводе более-менее адекватно переводятся в стандартную консольную палитру.

--------------------------------------------------------------------------------
drkns 2011-08-02 21:00:36+02:00 - build 2124

1. Mantis#0001603: Autocompletion in the middle of the line works incorrectly in dialogs

2. All `Reserved` in plugin.hpp are pointer-sized.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001603: Автодополнение в диалоге в середине строки отрабатывает некорректно

2. Все Reserved в plugin.hpp приведены к размеру указателя.

--------------------------------------------------------------------------------
drkns 2011-08-02 10:55:14+02:00 - build 2123

1. Mantis#0001842: incorrect buffer read in Execute.cpp

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001842: В Execute.cpp неаккуратно считывается буфер

--------------------------------------------------------------------------------
svs 2011-08-01 15:43:24+03:00 - build 2122

1. Mantis#0001832: FarNameToInputRecord / FarInputRecordToName problem
   (from Maximus + skirda)
   The next iteration...

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001832: Проблема FarNameToInputRecord / FarInputRecordToName
   (from Maximus + skirda)
   Очередная итерация на тему...

--------------------------------------------------------------------------------
drkns 2011-08-01 11:02:24+02:00 - build 2121

1. Correction of extended color attributes handling in files highlighting.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение работы раскраски файлов с расширенными цветовыми атрибутами.

--------------------------------------------------------------------------------
drkns 2011-07-31 16:34:12+02:00 - build 2120

1. Correction for default highlighting of files.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение раскраски файлов по умолчанию.

--------------------------------------------------------------------------------
drkns 2011-07-31 16:23:27+02:00 - build 2119

1. Correction of 2118.1.

--------------------------------------------------------------------------------
drkns 2011-07-31 16:09:11+02:00 - build 2118

1. Inner changes in color processing.

2. Experimental support for external rendering of FAR window.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Внутренние изменения в обработке цвета. Старые конфиги надо удалить.

2. Экспериментальная поддержка внешней отрисовки.

--------------------------------------------------------------------------------
drkns 2011-07-28 19:46:22+02:00 - build 2117

1. Wipe progress bar is now shown.

2. Wrapper can be switched off at compile time.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При вайпе теперь отображается прогресс.

2. Враппер можно отключать на этапе компиляции.

--------------------------------------------------------------------------------
drkns 2011-07-25 19:15:39+02:00 - build 2116

1. DM_LISTSETMOUSEREACTION no longer exists. Desired list behavior is set with DIF_LISTTRACKMOUSE/DIF_LISTTRACKMOUSEINFOCUS flags at dialog creation.
   By default the flags are not set for new plugins (the list does not track the mouse), DIF_LISTTRACKMOUSE is set for ANSI plugins (track always).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. DM_LISTSETMOUSEREACTION больше нет. Желаемое поведение списка задается флагами DIF_LISTTRACKMOUSE/DIF_LISTTRACKMOUSEINFOCUS при создании диалога.
   По умолчанию для новых плагинов флаги не установлены (список за мышью не следит), для ansi-плагинов установлен DIF_LISTTRACKMOUSE (следит всегда).

--------------------------------------------------------------------------------
svs 2011-07-24 10:17:29+03:00 - build 2115

1. Mantis#0001751: Menu creation in a macro
   (from DAtaMan)
   + additional key combinations are added to Menu.Show:
      Ctrl-Multiply - inversion of selection
      Ctrl-A - adjust the height of the menu
   - if Esc was pressed, "0" was returned. Now it is the empty string (or 0 if the result is an index)

2. Mantis#0001793: Enable macro interruption with CtrlBreak during "visual" functions
   (from Maximus)
   After next patching of macro interruption drawing was broken at mmode(1,0)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001751: Создание меню в макросе
   (from DAtaMan)
   + в Menu.Show добавлены дополнительные сочетания клавиш:
      Ctrl-Multiply - инверсия пометки
      Ctrl-A - подогнать меню по высоте
   - при нажатии Esc возвращалось "0". Теперь - пустая строка (или 0, если результат, как индекс)

2. Mantis#0001793: Разрешить прерывание макроса по CtrlBreak во время "визуальных" функций
   (from Maximus)
   После очередного патча прерывания макроса поломалась отрисовка при mmode(1,0)

--------------------------------------------------------------------------------
drkns 2011-07-21 21:28:51+02:00 - build 2114

1. Correction of 2113.1.

--------------------------------------------------------------------------------
drkns 2011-07-21 10:15:15+02:00 - build 2113

1. Now Far processes `set <var>` command by itself.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Теперь Far самостоятельно обрабатывает команду set <var>.

--------------------------------------------------------------------------------
drkns 2011-07-20 13:13:51+02:00 - build 2112

1. More correct message about starting error for the case of comspec use.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Более корректное сообщение об ошибке запуска в случае использования comspec.

--------------------------------------------------------------------------------
drkns 2011-07-12 11:07:16+02:00 - build 2111

1. Inner changes in color processing.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Внутреннние изменения в обработке цвета.

--------------------------------------------------------------------------------
drkns 2011-07-11 21:29:12+02:00 - build 2110

1. Continuation of 2109.

--------------------------------------------------------------------------------
drkns 2011-07-11 20:59:48+02:00 - build 2109

1. Refactoring of Edit / EditControl.

--------------------------------------------------------------------------------
zg 2011-07-10 21:53:31+02:00 - build 2108

1. correction of 2106.1. MacroSendMacroText.AKey type is INPUT_RECORD because the mouse buttons may be AKey too.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 2106.1. тип MacroSendMacroText.AKey - INPUT_RECORD, потому что кнопки мыши тоже могут быть AKey.

--------------------------------------------------------------------------------
zg 2011-07-10 16:02:13+02:00 - build 2107

1. a second parameter is added to PluginStartupInfo.InputBox, the GUID of the created dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. добавлен второй параметр PluginStartupInfo.InputBox - гуид создаваемого диалога.

--------------------------------------------------------------------------------
zg 2011-07-10 15:43:54+02:00 - build 2106

1. MacroSendMacroText.AKey type is now FarKey.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. тип MacroSendMacroText.AKey теперь FarKey.

--------------------------------------------------------------------------------
zg 2011-07-10 03:08:53+02:00 - build 2105

1. now menus also can have a GUID. accordingly, a second parameter is added, PluginStartupInfo.Menu - the GUID of the created menu.

2. Menu.Info.Id state is added to the macro language, which is the string representation of the current menu ID.

3. a second parameter is added to PluginStartupInfo.Message, the GUID of the created dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. меню теперь тоже могут иметь уникальный гуид. соответственно добавлен второй параметр PluginStartupInfo.Menu - гуид создаваемого меню.

2. в макроязык добавлено состояние Menu.Info.Id - строковое представление идентификатора текущего меню.

3. добавлен второй параметр PluginStartupInfo.Message - гуид создаваемого диалога.

--------------------------------------------------------------------------------
drkns 2011-07-09 14:58:46+02:00 - build 2104

1. Rollback of 1771.2.

--------------------------------------------------------------------------------
drkns 2011-07-09 02:05:28+02:00

1. farkeys.hpp is no longer in API. KEY_* constants are for inner use only.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. farkeys.hpp больше в API не входит. Константы KEY_* только для внутреннего использования.

--------------------------------------------------------------------------------
zg 2011-07-09 01:10:01+02:00 - build 2103

1. dropped FarInputRecordToKey and FarKeyToInputRecord.

2. FarKeyToName is replaced with FarInputRecordToName.

3. FarNameToKey is replaced with FarNameToInputRecord.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. выкинуты FarInputRecordToKey и FarKeyToInputRecord.

2. FarKeyToName заменена на FarInputRecordToName.

3. FarNameToKey заменена на FarNameToInputRecord.

--------------------------------------------------------------------------------
drkns 2011-07-08 12:40:30+02:00 - build 2102

1. #0001830 once more.

--------------------------------------------------------------------------------
drkns 2011-07-07 19:55:23+02:00 - build 2101

1. Mantis#0001830: elevation on attempt to copy a file from network to nul

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001830: При попытке скопировать файл с сети в nul получаем elevation

--------------------------------------------------------------------------------
drkns 2011-07-07 12:31:47+02:00 - build 2100

1. DM_SETHISTORY event did not work.

--------------------------------------------------------------------------------
drkns 2011-07-07 10:43:36+02:00 - build 2099

1. VMenu.UserData still reminds of itself.

--------------------------------------------------------------------------------
drkns 2011-07-04 21:44:34+02:00 - build 2098

1. Another portion of size_t in API.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё порция size_t в API.

--------------------------------------------------------------------------------
drkns 2011-07-04 16:15:32+02:00 - build 2097

1. Correction of 2090.2.

--------------------------------------------------------------------------------
drkns 2011-07-04 13:49:58+02:00 - build 2096

1. Correction of 2062.1. As a consequence, Mantis#0001824: Excessive elevation in Drive menu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 2062.1. Как следствие - Mantis#0001824: Лишний elevation в Drive menu.

--------------------------------------------------------------------------------
drkns 2011-07-04 08:26:08+02:00 - build 2095

1. Mantis#0001672: visual bugs after dialog close and Autocompletion

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001672: визуальные глюки после закрытия диалога и Autocompletion

--------------------------------------------------------------------------------
drkns 2011-07-03 21:00:12+02:00 - build 2094

1. Mantis#0001822: grabber is broken

--------------------------------------------------------------------------------
drkns 2011-07-02 13:47:03+02:00 - build 2093

1. Switching low-fragmentation heap on only wherre is is actual.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Включаем low-fragmentation heap только там, где это актуально.

--------------------------------------------------------------------------------
drkns 2011-07-01 22:03:37+02:00 - build 2092

1. Mantis#0001820: Panel drawing error with OPIF_DISABLEHIGHLIGHTING

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001820: Ошибка отрисовки панели при OPIF_DISABLEHIGHLIGHTING

--------------------------------------------------------------------------------
drkns 2011-07-01 13:08:33+02:00 - build 2091

1. %FARPROFILE%, %FARLOCALPROFILE%.

--------------------------------------------------------------------------------
drkns 2011-07-01 09:06:56+02:00 - build 2090

1. Mantis#0001818: ANSI wrapper error.

2. "personal plugins path" setting and TI#2 no longer exist, "personal" plugins are loaded from <profile>\plugins.

3. Due to #2, plugins' *.db moved to <profile>\PluginsData.

4. Local (UseSystemProfiles=0) path to settings storage is %farhome%\Profile by default.

5. Bugs in filestr.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001818: Ошибка анси-враппера.

2. Настройки "personal plugins path" и TI#2 больше нет, "персональные" плагины грузятся из <profile>\plugins.

3. В связи с п. 2 *.db плагинов переехали в <profile>\PluginsData.

4. Локальный (UseSystemProfiles=0) путь хранения настроек по умолчанию %farhome%\Profile.

5. Баги в filestr.

--------------------------------------------------------------------------------
svs 2011-06-30 13:53:47+03:00 - build 2089

1. Mantis#0001751: Menu creation in macro
   (from DAtaMan)
   bugfixes:
     - CtrlAdd/CtrlSubtract processing was broken
     - more correct empty lines parsing
     - with an empty Title, the caption was "0"
     + automatic numeration takes place after duplicates sorting/deletion
     + separators are skipped on duplicates sorting/deletion

2. SQLite: updated to 3.7.7.1
   (http://www.sqlite.org/releaselog/3_7_7_1.html)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001751: Создание меню в макросе
   (from DAtaMan)
   багофиксы:
     - поломалась обработка CtrlAdd/CtrlSubtract
     - более корректный парсинг пустых строк
     - при пустом Title, в заголовке было "0"
     + автонумерация выполняется после сортировки/удаления дубликатов
     + сепараторы при сортировке/удалении дубликатов пропускаются

2. SQLite: обновление до 3.7.7.1
   (http://www.sqlite.org/releaselog/3_7_7_1.html)

--------------------------------------------------------------------------------
drkns 2011-06-29 11:26:35+02:00 - build 2088

1. Some debugging junk in 2087.

--------------------------------------------------------------------------------
drkns 2011-06-29 11:12:33+02:00 - build 2087

1. Functional under win2k again.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Снова работаем в win2k.

--------------------------------------------------------------------------------
drkns 2011-06-29 08:28:07+02:00 - build 2086

1. Mantis#1801 consequences.

--------------------------------------------------------------------------------
drkns 2011-06-29 00:43:46+02:00 - build 2085

1. Mantis#0001816: Error in ANSI wrapper dialog colors.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001816: Ошибка в цветах диалога ANSI враппера.

--------------------------------------------------------------------------------
drkns 2011-06-28 22:38:49+02:00 - build 2084

1. Correction of 2080.1.

--------------------------------------------------------------------------------
drkns 2011-06-28 22:09:23+02:00 - build 2083

1. Correct GUID for Network plugin.

2. Mantis#0001766: Viewer new version.

--------------------------------------------------------------------------------
drkns 2011-06-28 17:43:08+02:00 - build 2082

1. Parameters are changed in ClosePanelW, ConfigureW, ProcessDialogEventW, ProcessEditorEventW, ProcessPanelEventW, ProcessPanelInputW, ProcessSynchroEventW, ProcessViewerEventW.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Изменены параметры ClosePanelW, ConfigureW, ProcessDialogEventW, ProcessEditorEventW, ProcessPanelEventW, ProcessPanelInputW, ProcessSynchroEventW, ProcessViewerEventW.

--------------------------------------------------------------------------------
drkns 2011-06-28 11:21:36+02:00 - build 2081

1. Mantis#0001815: Error in ACTL_GETARRAYCOLOR

2. Another gcc headers inadequacy.

3. Rollback of 2079.2.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001815: Ошибка в ACTL_GETARRAYCOLOR

2. Очередная неполноценность заголовков gcc.

3. Откат 2079.2.

--------------------------------------------------------------------------------
drkns 2011-06-27 15:23:38+02:00 - build 2080

1. On elevation, basic and auxiliary processes are bound to one job object.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При elevation базовый и вспомогательный процесс привязаны к одному job-объекту.

--------------------------------------------------------------------------------
drkns 2011-06-27 11:59:49+02:00 - build 2079

1. Mantis#0001809: Incorrect console scrolling on exit.

2. Endless loop on tree creation for directories "." and "..".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001809: Некорректная прогрутка консоли при выходе.

2. Бесконечный цикл при построении дерева для каталогов "." и "..".

--------------------------------------------------------------------------------
drkns 2011-06-25 18:20:20+02:00 - build 2078

1. Mantis#0001812: Editor highlighting is broken

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001812: Поломалась раскраска в редакторе

--------------------------------------------------------------------------------
drkns 2011-06-24 21:31:25+02:00 - build 2077

1. Mantis#0001807: Freeze after CtrlAltPgUp/CtrlAltPgDn key press

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001807: Зависание при нажатии в CtrlAltPgUp/CtrlAltPgDn

--------------------------------------------------------------------------------
drkns 2011-06-23 16:46:50+02:00 - build 2076

1. Mantis#0001801: process full PluginPanelItem.FileName content in filter

2. Mantis#0001805: Typos in English help file

3. Mantis#0001806: Vertical blocks cannot be selected with CursorBeyondEOL switched off

4. Mantis#0001807: Freeze after CtrlAltPgUp/CtrlAltPgDn key press

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001801: в фильтре обрабатывать полное содержание PluginPanelItem.FileName

2. Mantis#0001805: Опечатки в английском файле помощи

3. Mantis#0001806: Не выделяются вертикальные блоки при отключенном CursorBeyondEOL

4. Mantis#0001807: Зависание при нажатии в CtrlAltPgUp/CtrlAltPgDn

--------------------------------------------------------------------------------
drkns 2011-06-21 21:51:58+02:00 - build 2075

1. ACTL_GETSYSWORDDIV expects the buffer size in Param1.

2. More changes on 2070.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. ACTL_GETSYSWORDDIV ожидает размер буфера в Param1.

2. Ещё правки 2070.

--------------------------------------------------------------------------------
drkns 2011-06-21 20:14:06+02:00 - build 2074

1. And more.

--------------------------------------------------------------------------------
drkns 2011-06-21 19:06:45+02:00 - build 2073

1. And once more.

--------------------------------------------------------------------------------
drkns 2011-06-21 14:17:17+02:00 - build 2072

1. Correction of 2070.

--------------------------------------------------------------------------------
drkns 2011-06-21 10:53:36+02:00 - build 2071

1. Continuation of 2070.
   API uses FAR_CHAR_INFO instead of CHAR_INFO.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 2070.
   В API вместо CHAR_INFO используется FAR_CHAR_INFO.

--------------------------------------------------------------------------------
drkns 2011-06-20 23:22:12+02:00 - build 2070

1. Hello rainbow: using FarColor everywhere inside.
   Changes in API:
   - FarColor* is passed as Param2 in DN_CTLCOLORDIALOG, it must be changed at once.
   - FarDialogItemColors* is passed as Param2 in DN_CTLCOLORDLGITEM, FarDialogItemColors.Colors must be changed as follows: Colors[0] == lwlb, Colors[1] == lwhb, Colors[2] == hwlb, Colors[3] == hwhb.
   - FarDialogItemColors* is passed as Param2 in DN_CTLCOLORDLGLIST, the rest is unchanged.
   - ACTL_GETCOLOR, ACTL_GETARRAYCOLOR, ACTL_SETARRAYCOLOR work with FarColor.
   - DIF_SETCOLOR no longer exists, the color must be given in the handler.

   Color storage format is changed, generalconfig.db and highlight.db must be deleted.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Здравствуй, радуга: везде внутри используем FarColor.
   Изменения в api:
   - В DN_CTLCOLORDIALOG в Param2 приходит FarColor*, менять надо сразу его.
   - В DN_CTLCOLORDLGITEM в Param2 приходит FarDialogItemColors*, менять надо FarDialogItemColors.Colors по принципу: Colors[0] == lwlb, Colors[1] == lwhb, Colors[2] == hwlb, Colors[3] == hwhb.
   - В DN_CTLCOLORDLGLIST в Param2 приходит FarDialogItemColors*, в остальном - как было.
   - ACTL_GETCOLOR, ACTL_GETARRAYCOLOR, ACTL_SETARRAYCOLOR работают с FarColor.
   - DIF_SETCOLOR больше нет, цвет надо задавать в обработчике.

   Формат хранения цвета изменён, generalconfig.db и highlight.db надо удалить.

--------------------------------------------------------------------------------
drkns 2011-06-18 20:39:57+02:00 - build 2069

1. Mantis#0001800: CPU idle load.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001800: Загрузка процессора в простое

--------------------------------------------------------------------------------
drkns 2011-06-17 08:17:00+02:00 - build 2068

1. Completion list separators have got captions now.

2. Inner changes in color processing.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Разделители в списке дополнения теперь с подписями.

2. Внутреннние изменения в обработке цвета.

--------------------------------------------------------------------------------
drkns 2011-06-16 19:44:44+02:00 - build 2067

1. Dialog invocation after DM_CLOSE caused FAR crash.

2. Directory read optimization.

3. Corrections in plugin.hpp.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Вызов диалогов после DM_CLOSE приводил к падению.

2. Оптимизация чтения каталогов.

3. Уточнения plugin.hpp.

--------------------------------------------------------------------------------
svs 2011-06-10 13:33:43+03:00 - build 2066

1. Mantis#0001793: Enable interrupting of a macro with CtrlBreak during "visual" functions
   Another correction...

2. Mantis#0001789: A function to control fast filtering in lists (CtrlAltF)
   (from Maximus)
   Macro functions are added:
     1) Perform filtering operations (CtrlAltF)
        N=Menu.Filter([Action[,Mode])
     2) Perform filter string operations (CtrlAltF)
        S=Menu.FilterStr([Action[,S]])

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001793: Разрешить прерывание макроса по CtrlBreak во время "визуальных" функций
   Очередное уточнение...

2. Mantis#0001789: Функция для управления быстрым фильтром в списках (CtrlAltF)
   (from Maximus)
   Добавлены макрофункции:
     1) Выполняет операции фильтрации (CtrlAltF)
        N=Menu.Filter([Action[,Mode])
     2) Выполняет операции со строкой фильтра (CtrlAltF)
        S=Menu.FilterStr([Action[,S]])

--------------------------------------------------------------------------------
svs 2011-06-07 14:04:54+03:00 - build 2065

1. Mantis#0001795: Add Plugin.Load, Plugin.Unload functions
   2 new macro functions:
      N=Plugin.Load(DllPath[,ForceLoad])   - load a plugin
      N=Plugin.Unload(DllPath)             - unload a plugin
      they return 1 if successful, 0 otherwise

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001795: Добавить функции Plugin.Load, Plugin.Unload
   2 Новых макрофункции:
      N=Plugin.Load(DllPath[,ForceLoad])   - загрузка плагина
      N=Plugin.Unload(DllPath)             - выгрузка плагина
      возвращают 1 если ОК, 0 если ошибка

--------------------------------------------------------------------------------
svs 2011-06-06 18:08:55+03:00 - build 2064

1. Mantis#0001793: Enable macro interrupting with CtrlBreak during "visual" functions
   While MsgBox, Prompt or Menu.Show are being shown, the macro cannot be interrupted with CtrlBreak.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001793: Разрешить прерывание макроса по CtrlBreak во время "визуальных" функций
   Когда на экране MsgBox, Prompt или Menu.Show, макрос нельзя прервать с помощью CtrlBreak.

--------------------------------------------------------------------------------
t-rex 2011-06-05 21:47:13+02:00 - build 2063

1. From Maximus: Mantis#1794: If CtrlAltF filtering removes all items from a list, then it is not redrawn.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. From Maximus: Mantis#1794: Если после фильтра CtrlAltF в списке не остается ни одной строки - он не перерисовывается.

--------------------------------------------------------------------------------
drkns 2011-06-03 15:38:45+02:00 - build 2062

1. Start of Windows Explorer with "." + ShiftEnter did not work at the root of a volume.

2. Xlat settings are saved at exit to avoid detection of Russian keyboard layout at every run.

3. Other makeup.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не работало открытие проводника по "." + ShiftEnter в корне диска.

2. Настройки Xlat сохраняются при выходе, дабы не вынюхивать наличие русской раскладки при каждом старте.

3. Прочая косметика.

--------------------------------------------------------------------------------
svs 2011-06-03 09:15:08+03:00 - build 2061

1. Mantis#0001766: New viewer version
   (from 2useven10)
   long lines fix (fixed errors + MaxLineSize: Min=100, Def=10000, Max=100000)

2. Mantis#0001790: Switch XLat on by default if Russian keyboard layout is installed in the system
   (from Maximus)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001766: Новая версия вьювера
   (from 2useven10)
   fix для длинных строк (поправлены ошибки + MaxLineSize: Min=100, Def=10000, Max=100000)

2. Mantis#0001790: Включить XLat по умолчанию при установленной в системе русской раскладки
   (from Maximus)

--------------------------------------------------------------------------------
drkns 2011-05-31 18:23:46+02:00 - build 2060

1. Mantis#0001787: ANSI wrapper error (ACTL_GETWINDOWINFO).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001787: Ошибка Ansi враппера (ACTL_GETWINDOWINFO).

--------------------------------------------------------------------------------
svs 2011-05-28 15:19:55+03:00 - build 2059

1. Mantis#0001786: Problems with network drives connection
   (from Maximus)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001786: Проблемы подключения к сетевым дискам
   (from Maximus)

--------------------------------------------------------------------------------
svs 2011-05-28 10:56:14+03:00 - build 2058

1. Mantis#0001782: Selection error when TABs are present

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001782: Ошибка выделения при наличии табов

--------------------------------------------------------------------------------
t-rex 2011-05-28 02:22:22+02:00 - build 2057

1. Mantis#0001784: Plugin cache bugs (continued).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001784: Глюки с кешем плагинов (продолжение).

--------------------------------------------------------------------------------
drkns 2011-05-27 09:34:24+02:00 - build 2056

1. On new file creation, the codepage was set incorrectly.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При создании нового файла некорректно устанавливалась кодовая страница.

--------------------------------------------------------------------------------
drkns 2011-05-27 09:15:37+02:00 - build 2055

1. Mantis#0001784: Plugin cache bugs

--------------------------------------------------------------------------------
svs 2011-05-26 16:17:09+03:00 - build 2054

1. In explanation of comments to Mantis#0001782.
   Macro: Prohibit block selection (Editor.Sel()) beyond the line if "[ ] Cursor beyond end of line"
   (attempt No.1)

2. Mantis#0001766: Viewer new version
   (from 2useven10)
   About 30% of code is rewritten...

   Guts:
    - search is completely redone
    - caching of carriage returns is added
    - Unicode files are now as other ones (say no to size in characters!)
    - HexView is redone
    - search dialog is revised

   Functions:
    - regular expressions search is added (line-by-line both directions)
    - next search is always looped up to search start or direction change
    - possibility of variable maximal line length is added ("Viewer.MaxLineSize:TYPE_INTEGER" parameter)
       the minimal value is    80
       the default value is  2048
       the maximal value is 16384
    - an option is added ("Viewer.SearchEditFocus:TYPE_INTEGER"), allowing input field automatic focusing
      after search parameters change. By default it is switched off (=0)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. По мотивам комментриев Mantis#0001782.
   Macro: Запретим выделять блок (Editor.Sel()) за пределами строки, если "[ ] Cursor beyond end of line"
   (попытка раз)

2. Mantis#0001766: Новая версия вьювера
   (from 2useven10)
   Порядка 30% кода переписано...

   Внутренности:
    - полностью переделан поиск
    - добавлен механизм кеширования переводов строк
    - юникодные файлы теперь как все прочие (нет размеру в символах!)
    - переделан HexView
    - переработан диалог поиска

   Функции:
    - добавлен поиск регулярных выражений (построчный в обе стороны)
    - повторный поиск всегда зациклен до места начала поиска или смены направления
    - добавлена возможность изменения максимальной длины строки (параметр - "Viewer.MaxLineSize:TYPE_INTEGER")
       минимальное значение -    80
       по умолчанию         -  2048
       максимальное         - 16384
    - добавлена опция ("Viewer.SearchEditFocus:TYPE_INTEGER"), позволяющая после изменения параметров в диалоге поиска
      автоматически ставить фокус в поле ввода. По умолчанию отключена (=0)

--------------------------------------------------------------------------------
drkns 2011-05-26 14:35:27+02:00 - build 2053

1. Just in case, situation "UID obtained from cache does not match the one received from the plugin" is taken into account.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. На всякий случай учтем ситуацию "уид, полученный из кеша, не совпадает с полученным от плагина".

--------------------------------------------------------------------------------
drkns 2011-05-26 14:11:16+02:00 - build 2052

1. Correction of 2050.

--------------------------------------------------------------------------------
drkns 2011-05-26 08:52:56+02:00 - build 2051

1. More correct solution for M#1783.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Более корректное решение M#1783.

--------------------------------------------------------------------------------
drkns 2011-05-25 16:40:51+02:00 - build 2050

1. Continuing the wrapper abstraction.

2. Mantis#0001783: Garbage in console caption when copying files

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжаем абстрагировать враппер.

2. Mantis#0001783: При копировании файлов - мусор в заголове консоли

--------------------------------------------------------------------------------
drkns 2011-05-25 12:15:20+02:00 - build 2049

1. Continuing the wrapper abstraction.

--------------------------------------------------------------------------------
drkns 2011-05-24 23:49:08+02:00 - build 2048

1. Continuation of 1978.
   - wrapper partial abstraction: PluginW is simply Plugin now, PluginA is inherited from it.
   - some more copy&paste is eliminated.

2. Warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 1978.
   - частично абстрагируем враппер: PluginW теперь просто Plugin, PluginA наследуется от него.
   - прибито ещё немного копипасты.

2. Warnings.

--------------------------------------------------------------------------------
drkns 2011-05-23 21:31:52+02:00 - build 2047

1. Wrong dialogs centering in some cases.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В некоторых случаях неправильно центрировались диалоги.

--------------------------------------------------------------------------------
svs 2011-05-23 16:38:21+03:00 - build 2046

1. Mantis#0001755: Cannot change the focus in RadioButton click handler
   (from 2useven10)

2. EF_DISABLESAVEPOS flag is added to API: do not save the position.
   also, EF_LOCKED flag is restored: lock editing on file open.

3. Mantis#0001183: On Reload, codepage memorizing must take place before read
   (from 2useven10)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001755: Невозможно изменить фокус в обработчике клика на RadioButton
   (from 2useven10)

2. В АПИ добавлен флаг EF_DISABLESAVEPOS - не сохранять позицию.
   и отрыт флаг EF_LOCKED - при открытии файла сразу выставить блокировку на редактирование.

3. Mantis#0001183: При Reload запоминание кодовой страницы должно происходить раньше считывания
   (from 2useven10)

--------------------------------------------------------------------------------
svs 2011-05-23 12:13:01+03:00 - build 2045

1. Mantis#0001775: Shift-F4: Possibility of repeated automatic codepage detection at file open
   (from 2useven10)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001775: Shift-F4: Возможность пере-автоопределения кодировки при открытии файла
   (from 2useven10)

--------------------------------------------------------------------------------
zg 2011-05-21 20:32:05+02:00 - build 2044

1. Storing of z-positions of color regions with equal priorities. but it is better to use the different ones.

2. gcc warnings in sqlite.c.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. сохранение z-позиции областей раскраски с одинаковым приоритетом. но лучше использовать разные.

2. gcc варнинги в sqlite.c.

--------------------------------------------------------------------------------
t-rex 2011-05-21 13:06:02+02:00 - build 2043

1. EDITOR_COLOR_ANSI_PRIORITY -> EDITOR_COLOR_NORMAL_PRIORITY

2. Since Priority is unsigned then SortColors() must be corrected.

3. sqlite 3.7.6.3

4. tinyxml 2.6.2

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. EDITOR_COLOR_ANSI_PRIORITY -> EDITOR_COLOR_NORMAL_PRIORITY

2. Так как Priority unsigned то SortColors() должен быть другой.

3. sqlite 3.7.6.3

4. tinyxml 2.6.2

--------------------------------------------------------------------------------
drkns 2011-05-21 13:00:29+02:00 - build 2042

1. Mantis#0001771: structure size in DM_GETDIALOGINFO is checked incorrectly

2. Mantis#0001778: Display Title instead of ModuleName in plugin selection list

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001771: некорректно проверяется размер структуры в DM_GETDIALOGINFO

2. Mantis#0001778: Отображать в списке выбора плагинов Title вместо ModuleName

--------------------------------------------------------------------------------
zg 2011-05-20 21:25:11+02:00 - build 2041

1. Two fields are appended to EditorColor: Owner and Priority.
   Owner is the GUID of the color region owner.
   Priority is the color region's priority. the more is the value, the higher is the color region.
2. deletion magic with ECTL_ADDCOLOR is removed. Now there are ECTL_DELCOLOR and EditorDeleteColor for that.
   only areas which owner equals to EditorDeleteColor.Owner are deleted.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. в EditorColor добавлены два поля: Owner и Priority.
   Owner - гуид владелеца цветовой области.
   Priority - приоритет цветовой области. чем больше, тем выше цветовая область.
2. убраны шаманства с удалением через ECTL_ADDCOLOR. теперь для этого ECTL_DELCOLOR и EditorDeleteColor.
   удаляется только области, у которых владелец совпадает с EditorDeleteColor.Owner.

--------------------------------------------------------------------------------
svs 2011-05-20 17:44:06+03:00 - build 2040

1. Mantis#0001774: Possibility of creation of codepages 'black list' for codepages autodetection
   (from 2useven10)
   A strNoAutoDetectCP text parameter is added to configuration, it can contain codepages to be excluded
   from UCD autodetection, separated with commas.

   the listed codepages are excluded from automatic detection with nsUniversalDetectorEx.
   unicode pages autodetection does not depend on it, therefore UTF-8 is detected even if
   65001 is listed here. If UniversalDetector returns a page from this list, it is replaced with
   the default ANSI or OEM, depending on settings.

   if strNoAutoDetectCP is:
     "" -- no UCD autodetection filtration (this is by default like now)
       "-1" -- only ACP, OEMCP and favorites are passed if Ctrl-H is on (otherwise there is no filtering)
     "cp1,cp2,..." -- the listed ones are rejected

   an example: "1250,1252,1253,1255,855,10005,28592,28595,28597,28598,38598,65001" - these
           codepages will be excluded from detection

2. Mantis#0001768: testfolder(): incorrect return code for an empty directory
   ...another attempt :-(

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001774: Возможность завести 'черный список' кодовых страниц (codepages) autodetect
   (from 2useven10)
   В конфиг добавлен текстовый параметр: strNoAutoDetectCP в котором через запятую
   можно задавать кодовые страницы которые будут исключены из UCD автодетекта.

   перечисленные здесь кодовые страницы будут исключены из детектирования nsUniversalDetectorEx.
   автодетект юникодных страниц от этого не зависит, поэтому UTF-8 будет определяться даже если
   65001 здесь присутствует. Если UniversalDetector выдаст страницу из этого списка, она будет
   заменена на умолчательную ANSI или OEM, в зависимости от настроек.

   если strNoAutoDetectCP
     "" -- никакой фильтрации UCD автодетекта (это умолчание - как сейчас)
       "-1" -- пропускаются только ACP, OEMCP и любимые если Ctrl-H включен (иначе фильтрации нет)
     "cp1,cp2,..." -- не пропускаются перечисленные в списке

   пример: "1250,1252,1253,1255,855,10005,28592,28595,28597,28598,38598,65001" - эти кодовые страницы
           будут исключены из детекта

2. Mantis#0001768: testfolder(): неверный код возврата для пустого каталога
   ...продолжаем извращения :-(

--------------------------------------------------------------------------------
drkns 2011-05-20 15:02:43+02:00 - build 2039

1. At folder creation, it is possible to add its reparse point.

2. A couple of trifles.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При создании папки можно заодно прицепить к ней reparse point.

2. Пара мелочей.

--------------------------------------------------------------------------------
svs 2011-05-20 11:13:13+03:00 - build 2038

1. Mantis#0001776: automatic scrolling of the appended file was broken
   (from 2useven10)

2. Mantis#0001736: akey(1,0)==akey(1,1) Far 3.0.1931 far2.0.1807
   Continuation of the saga.

     The macro on CtrlShifF1:
         msgbox(akey(1,0),akey(1,1))
         works fine:
         +- CtrlShiftF1 -+
         |  CtrlShiftF1  |
         although:
         CtrlO msgbox(akey(1,0),akey(1,1))
         works incorrectly (Shift modifier is lost) :
         +-- CtrlF1 ---+
         | CtrlShiftF1 |
         and if the macro looks like this:
         msgbox() msgbox(akey(1,0),akey(1,1))
         then there's no modifiers at all:
         +---- F1 -----+
         | CtrlShiftF1 |

         The macro on MsWheelDown:
         msgbox(Akey(0),MsWheelDown)
         +- 196609 -+
         |  131076  |

    Here, we create artificial environment for MsWheelXXX - let's use 4 positions after VK_F24 (they seem to be unused anyway)

     VK_F24+1 == KEY_MSWHEEL_DOWN
     VK_F24+2 == KEY_MSWHEEL_UP
     VK_F24+3 == KEY_MSWHEEL_LEFT
     VK_F24+4 == KEY_MSWHEEL_RIGHT

    (in case of problems it would be necessary to "move" these values to the wVirtualKeyCode's most significant byte, and set the least significant byte to FF)

    Reason: this is a mouse event, and we need a keyboard one. It has been changed before, but Rec was just a stub.

    Also, in all places where CalcKeyCode was used aside from GetInputRecord, now it is necessary to
    use ShieldCalcKeyCode. This function "protects" FarKeyboardState of "main process".

3. Mantis#0001768: testfolder(): incorrect return code for an empty directory
   TSTFLD_ERROR is still returned for files

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001776: поломался автоскролл пополняемого файла
   (from 2useven10)

2. Mantins#0001736: akey(1,0)==akey(1,1) Far 3.0.1931 far2.0.1807
   Продолжение эпопеи.

     Макрос на CtrlShifF1:
         msgbox(akey(1,0),akey(1,1))
         работает нормально:
         +- CtrlShiftF1 -+
         |  CtrlShiftF1  |
         а вот:
         CtrlO msgbox(akey(1,0),akey(1,1))
         неправильно (куда то потерялся модификатор Shift) :
         +-- CtrlF1 ---+
         | CtrlShiftF1 |
         а если макрос выглядит так:
         msgbox() msgbox(akey(1,0),akey(1,1))
         то модификаторов вообще нет:
         +---- F1 -----+
         | CtrlShiftF1 |

         Макрос на MsWheelDown:
         msgbox(Akey(0),MsWheelDown)
         +- 196609 -+
         |  131076  |

    Здесь для MsWheelXXX создадим искуственную среду - заюзаем 4 позиции после VK_F24 (они вроде как бы и не используются)

     VK_F24+1 == KEY_MSWHEEL_DOWN
     VK_F24+2 == KEY_MSWHEEL_UP
     VK_F24+3 == KEY_MSWHEEL_LEFT
     VK_F24+4 == KEY_MSWHEEL_RIGHT

    (в случае проблем - необходимо будет "перемещать" эти значения в верхний байт wVirtualKeyCode, а младший делать FF)

    Причина: это мышиное событие, но нам нужно клавиатурное. Его и раньше преобразовывали, но Rec делали пустышкой.

    Так же - везде, где ранее использовалась CalcKeyCode "мимо кассы" (вне GetInputRecord), теперь необходимо
    юзать ShieldCalcKeyCode. Эта функция "защищает" FarKeyboardState "основного процесса".

3. Mantis#0001768: testfolder(): неверный код возврата для пустого каталога
   для файла пока возвращаем TSTFLD_ERROR

--------------------------------------------------------------------------------
drkns 2011-05-20 09:07:19+02:00 - build 2037

1. ExitInfo structure is passed to ExitFARW (for the future).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В ExitFARW передается структура ExitInfo (на будущее).

--------------------------------------------------------------------------------
svs 2011-05-19 18:11:44+03:00 - build 2036

1. Mantis#0001768: testfolder(): incorrect return code for an empty directory

   ACHTUNG!!!

   testfolder() function return codes have been changed:

       2 the folder is not empty
       1 the folder is empty
       0 the folder does not exist
      -1 access denied
      -2 an error (incorrect parameter or inner problems with memory allocation)

      If > 0 - it exists and is accessible
      If = 0 - it doesn't exist, but one can try to create it
      If < 0 - the function doesn't report anything encouraging

2. Mantis#0001773: giving an opportunity of enabling AutoDetect menu item on Shift-F8
   addition to the editor
   (from 2useven10)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001768: testfolder(): неверный код возврата для пустого каталога

   АХТУНГ!!!

   Изменены коды возвратов у функции testfolder():

       2 папка не пустая
       1 папка пустая
       0 папка не существует
      -1 нет доступа
      -2 ошибка (некорректный параметр или внутренние проблемы с выделением памяти)

      Если > 0 - существует и доступна
      Если = 0 - не существует, но можно попробовать создать
      Если < 0 - ничего обнадеживающего функция не сообщает

2. Mantis#0001773: Дадим возможность разрешать пункт AutoDetect в меню по Shift-F8
   добавка к редактору
   (from 2useven10)

--------------------------------------------------------------------------------
svs 2011-05-19 14:25:38+03:00 - build 2035

1. Mantis#0001772: Minor makeup in CacheRead code and its use in the viewer
   minor code cleanup
   (from 2useven10)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001772: Небольшое причесывание кода CacheRead и его использования во вьювере
   небольшая чистка кода
   (from 2useven10)

--------------------------------------------------------------------------------
svs 2011-05-19 14:07:17+03:00 - build 2034

1. Mantis#0001773: giving an opportunity of enabling AutoDetect menu item on Shift-F8
   Just a parameter is added to make this usable (so far, this is available in the viewer only)
   (from 2useven10)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001773: Дадим возможность разрешать пункт AutoDetect в меню по Shift-F8
   Просто добавлен параметр, чтобы это можно было использовать (доступно пока во вьювере)
   (from 2useven10)

--------------------------------------------------------------------------------
drkns 2011-05-17 23:00:00+02:00 - build 2033

1. VMenu.UserData still recalls itself.

2. ConsoleTitle refactoring.

--------------------------------------------------------------------------------
drkns 2011-05-16 20:41:14+02:00 - build 2032

1. Handle leak at virtual volumes detach.

2. Mantis#0001769: Error in DM_EDITUNCHANGEDFLAG(id,-1)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Handle leak при отсоединении виртуальных дисков.

2. Mantis#0001769: Ошибка в DM_EDITUNCHANGEDFLAG(id,-1)

--------------------------------------------------------------------------------
t-rex 2011-05-15 20:10:24+02:00 - build 2031

1. OpenW(OPEN_ANALYSE) may return -2 as before in OpenFilePluginW.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В OpenW(OPEN_ANALYSE) можно вернуть -2 как и раньше в OpenFilePluginW.

--------------------------------------------------------------------------------
drkns 2011-05-14 18:06:52+02:00 - build 2030

1. Crash at processing a filter in the history.

2. GCC.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Падение при работе с фильтром в истории.

2. GCC.

--------------------------------------------------------------------------------
svs 2011-05-14 14:53:18+03:00 - build 2029

1. Mantis#0001687: ProcessConsoleInput
   The next correction

2. Macro: A bug in Editor.Sel() - TAB characters were not taken into account...
   (the report is from fardev@googlegroups.com newsgroup)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001687: ProcessConsoleInput
   Очередное уточнение

2. Macro: Бага в Editor.Sel() - не учитывались табы...
   (репорт из рассылки fardev@googlegroups.com)

--------------------------------------------------------------------------------
drkns 2011-05-11 20:49:34+02:00 - build 2028

1. Some minor changes.

--------------------------------------------------------------------------------
svs 2011-05-11 17:44:58+03:00 - build 2027

1. ProcessEditorInputW - the parameter is changed:
    now this is a pointer to the structure
      struct ProcessEditorInputInfo
      {
        size_t StructSize;
        INPUT_RECORD Rec;
      };

2. Renaming: ProcessKeyW -> ProcessPanelInputW

3. and... the parameter is changed in ProcessPanelInputW:
    a pointer to the structure
      struct ProcessPanelInputInfo
      {
        size_t StructSize;
        INPUT_RECORD Rec;
      };

4. Mantis#0001759: ProcessKeyW is called twice
   ...since now, for A-plugins only. Preprocessing, see Mantis#0001687

5. Mantis#0001687: ProcessConsoleInput
   "At the beginning..."
   (the code is still "sealed" with MANTIS_0001687 #define)

6. Mantis#0000466: Macro language extension with plugins
   "...continuation..."
   (the code is still "sealed" with MANTIS_0000466 #define)

7. A minor addition in the form of DEFUSERFLAGS in makefile_vc file
   ...for purposes similar to 5 and 6.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. ProcessEditorInputW - изменен параметр:
    теперь это указатель на структуру
      struct ProcessEditorInputInfo
      {
        size_t StructSize;
        INPUT_RECORD Rec;
      };

2. Переименование: ProcessKeyW -> ProcessPanelInputW

3. и... в ProcessPanelInputW - изменен параметр:
    указатель на структуру
      struct ProcessPanelInputInfo
      {
        size_t StructSize;
        INPUT_RECORD Rec;
      };

4. Mantis#0001759: ProcessKeyW вызывается по два раза
   ...теперь только для A-плагинов. Препроцессы см. Mantis#0001687

5. Mantis#0001687: ProcessConsoleInput
   "В начале..."
   (код пока "закрыт" дефайном MANTIS_0001687)

6. Mantis#0000466: Расширение макроязыка плагинами
   "...продолжение..."
   (код пока "закрыт" дефайном MANTIS_0000466)

7. Небольшая добавка в виде DEFUSERFLAGS в файл makefile_vc
   ...для целей, подобных пп 5 и 6.

--------------------------------------------------------------------------------
svs 2011-05-10 09:29:07+03:00 - build 2026

1. Mantis#0001760: FSF.FarInputRecordToKey modifies inner FAR variables

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001760: FSF.FarInputRecordToKey влияет на внутренние переменные фара

--------------------------------------------------------------------------------
drkns 2011-05-08 16:37:54+02:00 - build 2025

1. Mantis#0001622: Not a very nice look of the file search results window

2. Mantis#0001763: Far 3.0 gcc build error (incorrect character case in an include)

3. Another couple of trifles.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001622: Не очень красивый вид окна результатов поиска файла

2. Mantis#0001763: Far 3.0 не собирается в gcc (неправильный регистр в include)

3. Ещё пара мелочей.

--------------------------------------------------------------------------------
drkns 2011-05-04 12:24:24+02:00 - build 2024

1. And more.

--------------------------------------------------------------------------------
drkns 2011-05-04 12:06:23+02:00 - build 2023

1. And once more.

--------------------------------------------------------------------------------
drkns 2011-05-04 11:19:21+02:00 - build 2022

1. Continuation of 2021.

--------------------------------------------------------------------------------
drkns 2011-05-04 10:15:20+02:00 - build 2021

1. VMenu.UserData again: DM_LISTGETDATA now always returns a pointer to data.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. И снова VMenu.UserData: DM_LISTGETDATA теперь всегда возвращает указатель на данные.

--------------------------------------------------------------------------------
drkns 2011-05-03 15:27:09+02:00 - build 2020

1. Correction of the previous build.

--------------------------------------------------------------------------------
drkns 2011-05-03 12:41:45+02:00 - build 2019

1. For FCTL_GETPANELITEM, FCTL_GETSELECTEDPANELITEM, FCTL_GETCURRENTPANELITEM, the FarGetPluginPanelItem structure must be passed as Param2:

   struct FarGetPluginPanelItem
   {
     size_t Size;
     PluginPanelItem* Item;
   };

   Item - a pointer to an input data buffer
   Size - the size of the buffer.

   The buffer will be written with data only if its size is big enough.

   The returned value: required buffer size.

2. For DM_GETDLGITEM, the FarGetDialogItem structure must be passed as Param2. The principle is the same as for FCTL_GET*PANELITEM

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Для FCTL_GETPANELITEM, FCTL_GETSELECTEDPANELITEM, FCTL_GETCURRENTPANELITEM в качестве Param2 теперь надо передавать структуру FarGetPluginPanelItem:

   struct FarGetPluginPanelItem
   {
     size_t Size;
     PluginPanelItem* Item;
   };

   Item - указатель на буфер, принимающий данные
   Size - размер буфера.

   Буфер будет заполнен только если его размер достаточен.

   Возвращаемое значение: необходимый размер буфера.

2. Для DM_GETDLGITEM в качестве Param2 надо передавать структуру FarGetDialogItem. Принцип тот же, что и в FCTL_GET*PANELITEM

--------------------------------------------------------------------------------
drkns 2011-04-30 16:28:33+02:00 - build 2018

1. warnings.

2. makeup in BaseFormat.

--------------------------------------------------------------------------------
drkns 2011-04-29 23:55:55+02:00 - build 2017

1. GCC warnings.

2. A couple of trifles.

--------------------------------------------------------------------------------
t-rex 2011-04-29 21:06:02+02:00 - build 2016

1. Instead of SCTL_SUBKEY, there is SCTL_CREATESUBKEY now (open the existing one or create if none exist) and SCTL_OPENSUBKEY (open the existing one).

2. Mantis#1757: SettingsControl(SCTL_CREATE) called from ExitFARW returns NULL.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Вместо SCTL_SUBKEY теперь есть SCTL_CREATESUBKEY (открыть существующий если нет то создать) и SCTL_OPENSUBKEY (открыть существующий).

2. Mantis#1757: SettingsControl(SCTL_CREATE), вызванный из ExitFARW, возвращает NULL.

--------------------------------------------------------------------------------
t-rex 2011-04-29 03:57:23+02:00 - build 2015

1. Each plugin's settings are stored in a separate base in %appdata%\Far Manager\Profile\Plugins.
   This eliminates the possibility of locking of the whole base with a buggy plugin.
   pluginsconfig.db may be removed.

2. Export/import for 1.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Настройки каждого плагина хранятся в отдельной базе в %appdata%\Far Manager\Profile\Plugins.
   Исключает возможность залочивания всей базы одним "левым" плагином.
   pluginsconfig.db можно удалить.

2. Экспорт/импорт для 1.

--------------------------------------------------------------------------------
t-rex 2011-04-29 00:42:27+02:00 - build 2014

1. pluginhotkeys export/import. In common, the history is only left, but I still think that it does not need to.

2. Far.exe /clearcache [Custom location for Far configuration files - overrides Far.exe.ini]
   Plugins cache cleaning.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Экспорт/импорт pluginhotkeys. В общем осталась тока history, но пока думаю что для неё это и не надо.

2. Far.exe /clearcache [Custom location for Far configuration files - overrides Far.exe.ini]
   Очищает кэш плагинов.

--------------------------------------------------------------------------------
t-rex 2011-04-28 21:44:56+02:00 - build 2013

1. Useless code was forgotten.

--------------------------------------------------------------------------------
t-rex 2011-04-28 21:33:34+02:00 - build 2012 future

1. Import from XML for HierarchicalConfig.

2. panelmodes settings moved to HierarchicalConfig, old panelmodes.db is likely to be removed.

3. A minor change in xml format - the main key is farconfig.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Импорт из XML для HierarchicalConfig.

2. Настройки panelmodes переехали в HierarchicalConfig, старый panelmodes.db желательно удалить.

3. Мелкое изменение в формате xml - главный ключ farconfig.

--------------------------------------------------------------------------------
drkns 2011-04-28 14:16:24+02:00 - build 2011

1. A couple of trifles on paths initialization.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Пара мелочей на тему инициализации путей.

--------------------------------------------------------------------------------
drkns 2011-04-28 13:52:23+02:00 - build 2010

1. For some reason, the copier did some magic like "if the filter is on then move files as copy + delete".
   It must have been fixed by now. Some testing is needed, just in case.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В копире зачем-то присутствовала волшебная логика вида "если включен фильтр, то перемещать надо через копирование + удаление".
   Вроде бы fixed. Желательно погонять, вдруг отвалилось где.

--------------------------------------------------------------------------------
drkns 2011-04-28 08:51:32+02:00 - build 2009

1. Unicode support in xml file names.

--------------------------------------------------------------------------------
t-rex 2011-04-28 02:08:28+02:00 - build 2008

1. Incorrect creation of xml with non-English file name.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Криво создавались xml не с английским именем.

--------------------------------------------------------------------------------
t-rex 2011-04-28 01:57:57+02:00 - build 2007

1. HierarchicalConfig bases export capability (import will be done later).
   I.e. pluginsconfig, filters, highlight, shortcuts.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Умеем экспортировать (импорт будет позже) HierarchicalConfig базы.
   Т.е. pluginsconfig, filters, highlight, shortcuts.

--------------------------------------------------------------------------------
t-rex 2011-04-27 23:34:03+02:00 - build 2006

1. Associations export/import capability.
   Before the import, all current associations are deleted (if "associations" tag exists in xml).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Умеем экспортировать/импортировать ассоциации.
   Перед импортом, все текущие ассоциации удаляются (если есть тэг associations в xml).

--------------------------------------------------------------------------------
t-rex 2011-04-27 21:16:21+02:00 - build 2005

1. Moved db/xml dependent code from main.cpp to configdb.cpp.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Перенёс db/xml зависимый код из main.cpp в configdb.cpp.

--------------------------------------------------------------------------------
t-rex 2011-04-27 20:35:54+02:00 - build 2004

1. Far.exe /export <out.xml> [Custom location for Far configuration files - overrides Far.exe.ini]
   Far.exe /import <in.xml> [Custom location for Far configuration files - overrides Far.exe.ini]
   So far, it works for generalconfig only.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Far.exe /export <out.xml> [Custom location for Far configuration files - overrides Far.exe.ini]
   Far.exe /import <in.xml> [Custom location for Far configuration files - overrides Far.exe.ini]
   Пока что работает только для generalconfig.

--------------------------------------------------------------------------------
drkns 2011-04-27 15:48:21+02:00 - build 2003

1. ucd, sqlite and tinyxml build is redone.

--------------------------------------------------------------------------------
t-rex 2011-04-27 14:35:14+02:00 - build 2002

1. Continuing playing with xml.

--------------------------------------------------------------------------------
drkns 2011-04-27 11:36:52+02:00 - build 2001

1. Plugin which exported ProcessDialogEvent and created dialogs in SetStartupInfo caused far recursion.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Плагин, экспортирующий ProcessDialogEvent и создающий диалоги в SetStartupInfo, уводил far в рекурсию.

--------------------------------------------------------------------------------
svs 2011-04-27 10:11:51+03:00 - build 2000

   Millennium! :-)

1. Mantis#0001751: Menu creation in a macro

· · · · · · · · · · · · · · · · · · · · · · · · ·

   Милениум! :-)

1. Mantis#0001751: Создание меню в макросе

--------------------------------------------------------------------------------
t-rex 2011-04-27 01:40:51+02:00 - build 1999

1. Initial stage of xml settings import/export implementation.
   tinyxml is added to the project.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Начальная стадия имплементации возможности импорта/экспорта настроек из/в xml.
   tinyxml добавлен в проект.

--------------------------------------------------------------------------------
t-rex 2011-04-26 22:54:14+02:00 - build 1998

1. Minor changes in plugin settings API.
   SCTL_SET doesn't accept FST_SUBKEY any more because this is meaningless and it is done by SCTL_SUBKEY.

2. For the documentation - SCTL_SET with FST_STRING defines a description to a key if FarSettingsItem.Name==NULL.
   It does not work if Root==0 because the description is set by FAR in this case (it is the name of the plugin).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Небольшое изменения в API настроек плагинов.
   SCTL_SET больше не принимает FST_SUBKEY так как нет смысла и этим занимается SCTL_SUBKEY.

2. Документации ради - SCTL_SET с FST_STRING когда FarSettingsItem.Name==NULL задаёт description ключю.
   Не работает для Root==0 ибо там описание выставляет фар (имя плагина).

--------------------------------------------------------------------------------
t-rex 2011-04-26 00:40:52+02:00 - build 1997

1. Minor changes in plugin settings API.
   For SCTL_DELETE, if FarSettingsValue.Value==NULL then FarSettingsValue.Root key is deleted.
   Otherwise, Value only is deleted (even when a key with the same name exists).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Небольшое изменения в API настроек плагинов.
   Для SCTL_DELETE если FarSettingsValue.Value==NULL то удаляется ключ FarSettingsValue.Root.
   В обратном случае удалется только Value (даже если есть ключ с таким именем).

--------------------------------------------------------------------------------
t-rex 2011-04-25 22:36:30+02:00 - build 1996

1. An addition in DlgBuilder.

--------------------------------------------------------------------------------
t-rex 2011-04-25 21:26:05+02:00 - build 1995

1. Additions in DlgBuilder.

--------------------------------------------------------------------------------
drkns 2011-04-24 13:38:27+02:00 - build 1994

1. Once again, the epic about VMenu.UserData.

--------------------------------------------------------------------------------
t-rex 2011-04-24 04:06:00+02:00 - build 1993

1. Forum: FAR crashes at exit with F10.

2. Forum: crash at an attempt to call anything from the user menu.
   Continuing the saga of VMenu.UserData.

3. UserProfileDir default value was incorrect.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: выхожу по F10 - Фар падает.

2. С форума: падает при попытке вызвать что угодно из пользовательского меню.
   Продолжаем эпопею с VMenu.UserData.

3. UserProfileDir не правильно выставлялся по дефолту.

--------------------------------------------------------------------------------
t-rex 2011-04-23 12:10:43+02:00 - build 1992

1. For the future, "System.Exception.FarEvent.svc" setting is renamed to "System.Exception.FarEventSvc".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. На будущее, настройка "System.Exception.FarEvent.svc" переименована в "System.Exception.FarEventSvc".

--------------------------------------------------------------------------------
t-rex 2011-04-23 02:04:07+02:00 - build 1991

1. Unused code is removed.

--------------------------------------------------------------------------------
t-rex 2011-04-23 00:44:55+02:00 - build 1990

1. Done, FAR looks for nothing but macros in the registry now.
   The settings have moved again, now they are here:
   %APPDATA%\Far Manager\Profile
   %LOCALAPPDATA%\Far Manager\Profile

2. /u is not actual now - it now affects only ANSI plugins (well, also macros so far).

3. /s key for manual specification of a folder containing the configuration (the folder will be created if it does not exist).

4. New parameters in Far.exe.ini:
   UseSystemProfiles=2
   UserProfileDir
   TemplatePluginsPath
   DefaultLanguage

5. Various fixes in help.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Всё, кроме макросов Фар больше ничего в реестре не ищет.
   Настройки снова переехали, теперь они тут:
   %APPDATA%\Far Manager\Profile
   %LOCALAPPDATA%\Far Manager\Profile

2. /u больше не актуален - влияет теперь только на анси плагины (ну и макросы пока что).

3. Ключ /s для ручного задания папки хранения конфигурации (папка будет создана если её нет).

4. Новые параметры в Far.exe.ini:
   UseSystemProfiles=2
   UserProfileDir
   TemplatePluginsPath
   DefaultLanguage

5. Различные исправления в хэлпе.

--------------------------------------------------------------------------------
t-rex 2011-04-22 19:39:06+02:00 - build 1989

1. poscache in sqlite is done. it is cleared with the same method as the history.
   In common, detaching from the registry is completed, what has been left is a decision what to do with macros.
   Who will take it?

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. poscache в sqlite готов. очищается таким же методом как и история.
   В общем отвязка от реестра практически закончена, осталось придумать что делать с макросами.
   Кто возмётся?

--------------------------------------------------------------------------------
drkns 2011-04-22 16:16:16+02:00 - build 1988

1. ACTL_GETCOLOR, ACTL_SETCURRENTWINDOW, ACTL_SETPROGRESSSTATE, ACTL_WAITKEY use Param1.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. ACTL_GETCOLOR, ACTL_SETCURRENTWINDOW, ACTL_SETPROGRESSSTATE, ACTL_WAITKEY используют Param1.

--------------------------------------------------------------------------------
drkns 2011-04-22 15:44:44+02:00 - build 1987

1. All *Control functions now return INT_PTR.

2. Param2 is now void* everywhere.

3. gcc warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Все *Control-функции теперь возвращают INT_PTR.

2. Param2 теперь везде void*.

3. gcc warnings.

--------------------------------------------------------------------------------
t-rex 2011-04-22 15:11:26+02:00

1. Help topic about user menu is updated.

2. Help topic about filters is added.

--------------------------------------------------------------------------------
drkns 2011-04-22 08:37:22+02:00 - build 1986

1. Continuing 1982.1.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. По следам 1982.1.

--------------------------------------------------------------------------------
t-rex 2011-04-22 03:24:23+02:00 - build 1985

1. Old history items deletion takes part at the exit from FAR only.

2. Deletion is now organized with the following method (without configuration so far):
   everything older than 90 days is removed, but only if the number of items is more than 1000.

3. Separation by days could show the same day twice.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Удаление старых пунктов истории происходит только при выходе из фара.

2. Удаление происходит теперь таким методом (пока без конфигурации):
   удаляется всё что старей 90 дней, но только если есть больше чем 1000 пунктов.

3. Разделение на дни могло показывать один и тот же день два раза.

--------------------------------------------------------------------------------
drkns 2011-04-21 21:21:21+02:00 - build 1984

1. Mantis#0001100: AltShiftIns on .. copies path with the trailing backslash into the clipboard

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001100: AltShiftIns на .. копирует в буфер путь с «\» на конце

--------------------------------------------------------------------------------
svs 2011-04-21 20:50:39+03:00 - build 1983

1. Mantis#0001751: Menu creation in macro
   A macrofunction is added, Menu.Show()
     S=Menu.Show(Items[,Title[,Flags[,FindOrFilter[,X[,Y]]]]])
   see the Encyclopedia for the description.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001751: Создание меню в макросе
   Добавлена макрофункция Menu.Show()
     S=Menu.Show(Items[,Title[,Flags[,FindOrFilter[,X[,Y]]]]])
   описание см. в Писании.

--------------------------------------------------------------------------------
drkns 2011-04-21 16:44:21+02:00 - build 1982

1. History items selection did not work in x64, and maybe something else, because the problem was deeper.

2. Histories are displayes with separation by days.

3. Some more trifles.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не работала пометка пунктов в историях в x64 и может ещё что-то, т.к. проблема была глубже.

2. Истории отображаются с разделением на дни.

3. Ещё некоторые мелочи.

--------------------------------------------------------------------------------
t-rex 2011-04-21 03:19:32+02:00 - build 1981

1. Warnings etc.

--------------------------------------------------------------------------------
t-rex 2011-04-21 01:56:16+02:00 - build 1980

1. poscache in sqlite, it will be stored along with the history, 50% completed, does not work yet.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. poscache в sqlite, будет хранится вместе с историей, готово на 50%, пока что не работает.

--------------------------------------------------------------------------------
t-rex 2011-04-20 21:14:08+02:00 - build 1979

1. The history is now located in %LOCALAPPDATA% by default (no configuration yet).

2. PRAGMA journal_mode = WAL; for plugins cache and history this has a very positive effect on performance.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. history теперь по дефолту (пока без настройка) лежит в %LOCALAPPDATA%.

2. PRAGMA journal_mode = WAL; для кэша плагинов и истории - очень позитивно влияет на скорость работы.

--------------------------------------------------------------------------------
drkns 2011-04-20 15:56:22+02:00 - build 1978

1. Refactoring of plugin classes. Duplicating code is removed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг плагиновых классов. Убран дублирующийся код.

--------------------------------------------------------------------------------
t-rex 2011-04-20 01:47:43+02:00 - build 1977

1. History stored in sqlite is done in common, CtrlE/CtlX/CtrlEnd must be functional.
   So far the history is stored for 90 days, all unlocked records older than 90 days are removed automatically.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В общем история в sqlite готова, должны работать CtrlE/CtlX/CtrlEnd.
   Пока что история хранится на 90 дней, все незалоченые записи старей 90 дней автоматом удаляются.

--------------------------------------------------------------------------------
t-rex 2011-04-19 22:51:10+02:00 - build 1976

1. $N -> ?N in sqlite statements for the history.

--------------------------------------------------------------------------------
t-rex 2011-04-19 22:45:21+02:00 - build 1975

1. The history is now in sqlite - about 80% is ready.
   - unified history for all open FAR sessions - work with history goes through the database only, the history is not stored in memory
   - if the history is off the it isn't processed at all (it was processed in current FAR session)
   - CtrlE/CtlX/CtrlEnd etc still do not work.
   - so far the last 90 days of history are stored, unlocked records older than 90 days are removed automatically

   Please test, especially the performance at large history (especially in dialogs).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. История теперь в sqlite - готово примерно на 80%.
   - единая история для всех открытых сессий фара - работа с историей идёт только через базу, история не хранится в памяти
   - если история отключена то она не ведётся вообще (раньше велась в рамках текущей сессий фара)
   - пока что не работают CtrlE/CtlX/CtrlEnd и т.п.
   - пока что история хранится на 90 дней, все незалоченые записи старей 90 дней автоматом удаляются

   Прошу потестировать, особенно скорость работы при большой истории (особенно в диалогах).

--------------------------------------------------------------------------------
drkns 2011-04-19 16:35:53+02:00 - build 1974

1. Visual bug in folder shortcuts.

2. Correction of current character code display in editor status line.

3. FormatString and FormatScreen classes can format output in oct and hex.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Визуальный глюк в folder shortcuts.

2. Уточнение отобоажения кода текущего символа в статусной строке редактора.

3. Классы FormatString и FormatScreen умеют выводить в oct и hex.

--------------------------------------------------------------------------------
t-rex 2011-04-19 03:40:18+02:00 - build 1973

1. folder shortcuts in sqlite.

--------------------------------------------------------------------------------
t-rex 2011-04-19 01:09:36+02:00 - build 1972 - Chag Sameach!

1. filters and highligh in sqlite (pluginsconfig.db must be removed again).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. filters и highligh в sqlite (снова надо удалить pluginsconfig.db).

--------------------------------------------------------------------------------
t-rex 2011-04-18 21:19:35+02:00 - build 1971

1. Using MSG_NOPLUGINS for plugin loading error message to avoid possible problems as in 1969.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Заюзаем MSG_NOPLUGINS для сообщение о неудаче загрузки плагина чтоб избежать возможных проблем как в 1969.

--------------------------------------------------------------------------------
t-rex 2011-04-18 16:52:37+02:00 - build 1970

1. pluginsconfig.db schema is altered, the old file must be deleted.

2. Improvement in memory usage configdb::Enum of database service functions.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Изменилась схема pluginsconfig.db, старый нужно удалить.

2. Улучшение в memory usage configdb::Enum функций для работы с базой.

--------------------------------------------------------------------------------
t-rex 2011-04-18 13:38:58+02:00 - build 1969

1. If a plugin could not be loaded at the moment of ProcessDialogEventW then infinite recursion took place.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Если не удалось загрузить плагин на момент ProcessDialogEventW то входим в бесконечную рекурсию.

--------------------------------------------------------------------------------
t-rex 2011-04-18 12:57:18+02:00 - build 1968

1. A minor bug in GlobalUserMenuDir initialization.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Мелкий бажок в инициализации GlobalUserMenuDir.

--------------------------------------------------------------------------------
drkns 2011-04-17 23:26:31+02:00 - build 1967

1. far.exe.ini in unicode.

2. pluginscache.db moved to %localappdata%.

--------------------------------------------------------------------------------
t-rex 2011-04-17 22:47:56+02:00 - build 1966

1. Forum: User menu: when a hotkey is pressed, the selected menu item is invoked instead of the item to which the key is assigned.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: Меню пользователя: при нажатии на горячую клавишу выполняется не тот пункт меню, которому она назначена, а тот, на котором стоит курсор.

--------------------------------------------------------------------------------
drkns 2011-04-17 20:42:03+02:00 - build 1965

1. Unicode files viewer worked incorrectly.

2. Crash at file read in be-unicode.

3. The #pragma push/pop wrapper around sqlite.? in order to not to watch warnings and not to fix them on each update.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Неправильно работал просмотр юникодных файлов.

2. Падение при чтении файлов в be-unicode.

3. Обертка из #pragma push/pop вокруг sqlite.?, дабы не созерцать варнинги и не править их при каждом обновлении.

--------------------------------------------------------------------------------
t-rex 2011-04-17 19:42:24+02:00 - build 1964

1. UserMenu is untied from the registry. This is how it works now:
   - local menu: FarMenu.ini in the current folder (as it was before)
   - user menu: FarMenu.ini in the profile folder (was in the registry)
   - globel menu: FarMenu.ini in %FARHOME% (or in a folder defined in Far.exe.ini::Global:GlobalUserMenuDir) (almost as before)

   Nothing seems to be broken, test it please.

2. File::Close() did not reset the position pointer.

3. Debug build fail is fixed.

4. Added Far.exe.ini to the project.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. UserMenu отвязан от реестра. Теперь работает так:
   - локальное меню: FarMenu.ini в текущей папке (как и раньше)
   - пользовательское меню: FarMenu.ini в папке профиля (то что раньше было в реестре)
   - глобальное меню: FarMenu.ini в %FARHOME% (или в папке определённой в Far.exe.ini::Global:GlobalUserMenuDir) (почти как и раньше)

   Вроде бы ничего не поломал, прошу потестировать.

2. File::Close() не сбрасывал position pointer.

3. Не собиралась дебаг сборка.

4. Добавил Far.exe.ini в проект.

--------------------------------------------------------------------------------
t-rex 2011-04-16 22:58:48+02:00 - build 1963

1. PanelModes in sqlite and minor modification of PanelViewSettings in addition.
   What is left: history, filters, positions, highlight, shortcuts.
   probably we have to store usermenu as a text file in %appdata% and not bother about that.
   macros - the solution from MacroLib plugin is better, isn't it?

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. PanelModes в sqlite и заодно небольшая переделка PanelViewSettings.
   Осталось: history, filters, positions, highlight, shortcuts.
   usermenu наверно надо хранить как текстовой файл в %appdata% и не заморачиватся.
   macros - наверно лучше как в плагине MacroLib, не?

--------------------------------------------------------------------------------
t-rex 2011-04-16 14:46:55+02:00 - build 1962

1. PluginCache in sqlite: done. Old plugincache.db must be deleted.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. PluginCache в sqlite - готово. Надо удалить старый plugincache.db.

--------------------------------------------------------------------------------
t-rex 2011-04-16 01:15:31+02:00 - build 1961

1. PluginHotKeys in sqlite: done.

2. PluginCache in sqlite - database structure is done; also, a couple of queries (~30%).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. PluginHotKeys в sqlite - готово.

2. PluginCache в sqlite - готова структура базы и пару запросов (~30%).

--------------------------------------------------------------------------------
t-rex 2011-04-15 21:45:01+02:00 - build 1960

1. The initial stage of PluginCache and PluginHotKeys moving to sqlite (it does not work so far).

2. Bugs in menus invoked via the wrapper.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Начальная стадия перевода PluginCache и PluginHotKeys в sqlite (пока ещё не работает).

2. Глюки в меню вызваных через враппер.

--------------------------------------------------------------------------------
svs 2011-04-15 10:06:10+03:00 - build 1959

1. Macro: history.disable is renamed to history.enable.
   This means that:
    1. histories are off when macro is started
    2. the bit mask has an effect on histories forced switching-on

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: history.disable переименована в history.enable.
   Это означает, что:
    1. истории во время вопрсоизведения макроса отключены
    2. битовая маска действует на принудительное включение историй

--------------------------------------------------------------------------------
t-rex 2011-04-15 03:28:35+02:00 - build 1958

1. From 2useven10: Partial remake of viewer's internals, numerous bugs are fixed.

2. Update sqlite to 3.7.6.1.

3. NULL -> nullptr in a couple of places.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. From 2useven10: Частичная переделка внутреностей вьювера, исправлены многочисленые баги.

2. Update sqlite to 3.7.6.1.

3. NULL -> nullptr в паре мест.

--------------------------------------------------------------------------------
drkns 2011-04-12 21:26:28+02:00 - build 1957

1. Rollback of 1956.

--------------------------------------------------------------------------------
drkns 2011-04-12 19:00:53+02:00 - build 1956

1. No need to type "cd" or "chdir" for entering a folder.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Для перехода в папку из командной строки писать cd или chdir необязательно.

--------------------------------------------------------------------------------
drkns 2011-04-12 00:14:07+02:00 - build 1955

1. A couple of corrections on folder shortcuts.

--------------------------------------------------------------------------------
drkns 2011-04-11 14:42:32+02:00 - build 1954

1. Codepage autodetection in editor and viewer is on by default.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Автоопределение кодовой страницы в редакторе и просмотре по умолчанию включено.

--------------------------------------------------------------------------------
drkns 2011-04-11 14:42:32+02:00 - build 1953

1. Plugin panel excessive update on exit from editor without saving.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Лишнее обновление плагиновой панели при выходе из редактора без сохранения.

--------------------------------------------------------------------------------
t-rex 2011-04-11 05:02:11+02:00 - build 1952

1. Associations in sqlite are completed, the old associations.db must be removed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Доделал ассоциации в sqlite, надо удалить старый associations.db.

--------------------------------------------------------------------------------
svs 2011-04-10 00:19:01+03:00 - build 1951

1. Mantis#0001742.
   From DAtaMan
     One more correction.
     Now FMatch function returns:
      1 - the string matches the mask
      0 - the string does not match the mask
     -1 - incorrect mask (error in regular expression)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001742.
   From DAtaMan
     Ещё уточнение.
     Теперь функция FMatch возвращает:
      1 - строка соответствует маске
      0 - строка не соответствует маске
     -1 - при некорректной маске (ошибка в регулярном выражении)

--------------------------------------------------------------------------------
drkns 2011-04-08 13:47:00+02:00 - build 1950

1. Color selection dialog is available to plugins.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Плагинам доступен диалог выбора цвета.

--------------------------------------------------------------------------------
drkns 2011-04-08 12:17:31+02:00 - build 1949

1. Mantis#0001746: Quick elements removal from autocompletion list

2. One more correction of 1930.

3. A few minor issues.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001746: Быстрое удаление элементов из списка автозавершения

2. Ещё одно уточнение 1930.

3. Несколько мелочей.

--------------------------------------------------------------------------------
drkns 2011-04-06 21:34:29+02:00 - build 1948

1. reinterpret_cast -> static_cast where it is possible.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. reinterpret_cast -> static_cast везде, где возможно.

--------------------------------------------------------------------------------
drkns 2011-04-06 13:24:53+02:00 - build 1947

1. Strings containing \0 were copied to clipboard incorrectly.

2. Error in VMenu::<G|S>etUserData.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В буфер обмена некорректно копировались строки, содержащие \0.

2. Ошибка в VMenu::<G|S>etUserData.

--------------------------------------------------------------------------------
svs 2011-04-06 13:43:53+03:00 - build 1946

1. Correction of Mantis#0001741
   From: DAtaMan
   Bugfix on 1942 - Alt-combinations did not work in macros

2. Mantis#0001743: History disable option
     A macrofunction is added to control appending items to history while the current macro is running.
     At macro start all kinds of history are enabled.

     N=history.disable([State])

     Here State is a bit mask:
       bit 0 - cmd history
       bit 1 - folder histroy
       bit 2 - view/edit history
       bit 3 - dialog history
       if the corresponding bit is set to 1, the appropriate history is disabled
       State = -1 - disable all history types

     The function returns the previous mask.
     If the parameter is omitted then it returns the current mask.

     TODO: Clarification is needed on "only while the macro is being played" statement!

3. Mantis#0001681: panel.setpath() does not work with plugins
   Relative paths - within current FS's bounds
   Absolute paths (C:\ \\Server\share) close plugin panel (if that was the plugin panel)

4. Macro: CmpName (from Mantis#0001742) renamed to FMatch
   From: DAtaMan

     N=FMatch(S, Mask)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение Mantis#0001741
   From: DAtaMan
   Багфикс к билду 1942 - в макросах не работали Alt-сочетания

2. Mantis#0001743: Возможность отключения истории
     Добавлена макрофункция, позволяющая управлять состоянием добавления пунктов в истории во время воспроизведения текущего макроса.
     При старте макроса истории разрешены.

     N=history.disable([State])

     Здесь State - набор битов:
       бит 0 - cmd history
       бит 1 - folder histroy
       бит 2 - view/edit history
       бит 3 - dialog history
       если соответствующий бит выставлен в 1, эту историю дизаблить
       State = -1 - дизаблить все истории

     Возвращает предыдущую маску.

     Если параметр не указан, то просто возвращает текущую маску

     TODO: Требуется уточнение на счет утверждения про "только во время воспроизведения"!

3. Mantis#0001681: panel.setpath() не работает с плагинами
   Относительные пути - в рамках текущей FS
   Абс.пути (C:\ \\Server\share) закрывают плагиновую панель (если это была она)

4. Macro: CmpName (из Mantis#0001742) переименована в FMatch
   From: DAtaMan

     N=FMatch(S, Mask)

--------------------------------------------------------------------------------
t-rex 2011-04-06 01:51:53+02:00 - build 1945

1. associations in sqlite - 90% complete (swap and creation of a new one under the cursor are not completed yet).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. ассоциации в sqlite - 90% готово (не доделан swap и создание новой на месте курсора).

--------------------------------------------------------------------------------
drkns 2011-04-05 17:02:32+02:00 - build 1944

1. Minor refactoring of dialog engine.

--------------------------------------------------------------------------------
drkns 2011-04-05 11:54:24+02:00 - build 1943

1. Correction of completion algorithm.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение алгоритма дополнения.

--------------------------------------------------------------------------------
svs 2011-04-05 09:48:10+03:00 - build 1942

1. Mantis#0001742: CmpName macrofunction - matching the text against the mask
   From: DAtaMan
    Quite often it is needed to figure out in macros whether a text matches a mask.
    The suggested patch implements CmpName macrofunction.
    The syntax follows:
    N=CmpName(Mask,S[,SkipPath])
    The function is case insensitive.

    Examples:
    cmpname("*far*", "far manager") == 1
    cmpname("a.txt", @"c:\a.txt", 0) == 1
    cmpname("a.txt", @"c:\a.txt", 0) == 0
    cmpname("a.txt", @"c:\a.txt", 1) == 1

2. Mantis#0001741: Additional keys for selected screen area manipulation
   From: DAtaMan
    A possible use case for FAR is running it on a computer without a mouse.
    The patch is suggested for more convenient grabber use.
    Additions:
      Alt-Shift-<cursor keys> increase/decrease the selected area.
      Alt-<cursor keys> move the selected area.
      Ctrl-A selects the whole screen area.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001742: Макрофункция CmpName - соответствие текста маске
   From: DAtaMan
    Довольно часто в макросах бывает нужно узнать, соответствует ли текст маске.
    В предлагаемом патче реализована макрофункция CmpName.
    Синтаксис такой:
    N=CmpName(Mask,S[,SkipPath])
    Функция регистронезависима.

    Примеры:
    cmpname("*far*", "far manager") == 1
    cmpname("a.txt", @"c:\a.txt", 0) == 1
    cmpname("a.txt", @"c:\a.txt", 0) == 0
    cmpname("a.txt", @"c:\a.txt", 1) == 1

2. Mantis#0001741: Дополнительные клавиши управления выделенной областью экрана
   From: DAtaMan
    Довольно часто приходится пользоваться FAR на компьютере без мыши.
    Для более удобного использования граббера предлагается патч.
    Добавлены:
      Alt-Shift-<клавиши управления курсором> уменьшают/увеличивают выделеннyю область.
      Alt-<клавиши управления курсором> перемещают выделеннyю область.
      Ctrl-A выделяет всю экранную область.

--------------------------------------------------------------------------------
drkns 2011-04-03 20:46:44+02:00 - build 1941

1. Continuation of 1940.

--------------------------------------------------------------------------------
drkns 2011-04-03 20:46:44+02:00 - build 1940

1. An element appended to input field history with DM_ADDHISTORY was not accessible in completion list.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Элемент, добавленный в историю поля ввода по DM_ADDHISTORY, не был доступен в списке дополнения.

--------------------------------------------------------------------------------
drkns 2011-04-03 20:46:44+02:00 - build 1939

1. Mantis#0000502: apiCreateFile rights for the Viewer.

2. A few trivial fixes.

--------------------------------------------------------------------------------
svs 2011-03-31 13:43:54+03:00 - build 1938

1. Mantis#0001736: akey(1,0)==akey(1,1)

   "...akey(?,Type):
     Type=0 - before it had always returned the key I pressed = which called the binding macro,
     Type=1 - the key assigned to the macro called by macro sequence,
     now Type always returns the key which the last macro is assigned to..."

   It was broken in build 1805 (although it was written clearly - "testing is needed" :-))

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001736: akey(1,0)==akey(1,1)

   "...akey(?,Type):
     Type=0 - раньше всегда возвращало клавишу которую я нажал = которая вызвала макрос-связку,
     Type=1 - клавишу на которую повешен макрос вызванный макропоследовательностью,
     а теперь Type всегда возвращает клавишу на которую назначен последний макрос..."

   Отвалилось в build 1805 (хотя было явно написано - "нужно тестить" :-))

--------------------------------------------------------------------------------
drkns 2011-03-31 12:12:12+02:00 - build 1937

1. FormatString and NTPath classes are based on UnicodeString.

2. Continuing printf elimination.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Классы FormatString и NTPath базируются на UnicodeString.

2. Продолжаем давить printf.

--------------------------------------------------------------------------------
svs 2011-03-28 19:19:10+03:00 - build 1936

1. Mantis#0001718: The absence of ECF_TAB1 does not always work correctly
   Correction taking the last TAB character into account.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001718: Отсутствие ECF_TAB1 не всегда корректно отрабатывает
   Коррекция с учетом последнего таба.

--------------------------------------------------------------------------------
drkns 2011-03-28 15:58:34+02:00 - build 1935

1. VC code analysis warnings.

--------------------------------------------------------------------------------
t-rex 2011-03-27 22:19:24+02:00 - build 1934

1. Initial stage of moving associations to sqlite (associations.db, doesn't work yet!).

2. UnicodeString::Equal() -> IsSubStrAt() to avoid disorder.

3. From 2useven10: Mantis#1043: viewing a file on network share causes 40kB/s network spam of QUERY_PATH_INFO SMB requests.
   requests frequency is hardcoded for now - once per second for DRIVE_REMOTE

4. From 2useven10: Mantis#796: Viewer and End key behaviour.

5. From 2useven10: fixes for physical drives viewing and for hex viewer.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Начальная стадия перевода ассоциаций в sqlite (associations.db, пока не работает!).

2. UnicodeString::Equal() -> IsSubStrAt() чтоб не было путаницы.

3. From 2useven10: Mantis#1043: viewing a file on network share causes 40kB/s network spam of QUERY_PATH_INFO SMB requests.
   периоды опроса пока просто зашиты в код - для DRIVE_REMOTE: один раз в секунду

4. From 2useven10: Mantis#796: Viewer и поведение клавиши End.

5. From 2useven10: Различные исправления для просмотра физических дисков и хекс просмотра.

--------------------------------------------------------------------------------
drkns 2011-03-26 19:41:35+02:00 - build 1933

1. Correction of 1930.1.

--------------------------------------------------------------------------------
drkns 2011-03-25 19:03:05+02:00 - build 1932

1. x64 warnings.

2. Mantis#0001735: incorrect displayiog of volume name in info panel if UNC path is used

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. x64 warnings.

2. Mantis#0001735: неверное отображение имени диска в информационной панели при использовании UNC path

--------------------------------------------------------------------------------
drkns 2011-03-24 10:59:59+02:00 - build 1931

1. Types correction.

--------------------------------------------------------------------------------
drkns 2011-03-23 17:00:00+02:00 - build 1930

1. Now settings are guaranteed to be saved when the console is closed with [x] button.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Теперь при закрытии консоли кнопкой [x] настройки гарантированно сохраняются.

--------------------------------------------------------------------------------
drkns 2011-03-23 10:52:38+02:00 - build 1929

1. Mantis#0001661: Debug version crashes at regexp search.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001661: Отладочная версия валится при поиске regexp.

--------------------------------------------------------------------------------
t-rex 2011-03-23 01:18:18+02:00 - build 1928

1. Again, changes in DB schema (old ones must be deleted). "type" field is removed because sqlite can determine the type anyway.

2. Wrapper classes around sqlite for code simplification.

3. From 2useven10: Fix for 1925.1

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Снова изменения в схеме баз (старые надо удалить). Больше нет поля type ибо sqlite и так умеет его динамично определять.

2. Классы обёртки вокруг sqlite для упрощения кода.

3. From 2useven10: Fix для 1925.1

--------------------------------------------------------------------------------
drkns 2011-03-22 17:04:11+02:00 - build 1927

1. In 1911, the shortcuts with environment variables didn't work.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В 1911 отвалились shortcut'ы c переменными окружения.

--------------------------------------------------------------------------------
drkns 2011-03-22 15:55:16+02:00 - build 1926

1. For the future: Opt.LocalProfilePath == "%LOCALAPPDATA%\Far Manager\Profiles\<Default|ProfileName>".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. На будущее: Opt.LocalProfilePath == "%LOCALAPPDATA%\Far Manager\Profiles\<Default|ProfileName>".

--------------------------------------------------------------------------------
t-rex 2011-03-22 00:04:16+02:00 - build 1925

1. From 2useven10: Hex view for UTF-8.

2. From Maximus: Mantis#1731: "Cannot find the file" error after exit from TempPanel.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. From 2useven10: Hex view для UTF-8.

2. From Maximus: Mantis#1731: Ошибка "Cannot find the file" после выхода из TempPanel.

--------------------------------------------------------------------------------
t-rex 2011-03-21 22:53:37+02:00 - build 1924

1. Disabling "PRAGMA synchronous = OFF;", using transactions.

2. Each plugin has now its own connection to configuration DB, and everything goes inside one transaction from CREATE to FREE.
   I.e. the data is actually written at FREE only.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Отрубаем "PRAGMA synchronous = OFF;", юзаем транзакции.

2. У каждого плагина теперь внутри свой личный конекшен к базе конфига, и от CREATE до FREE всё идёт в одной транзакции.
   Т.е. данные реально записываются только при FREE.

--------------------------------------------------------------------------------
drkns 2011-03-21 22:16:11+02:00 - build 1923

1. Another paths remake.
   Now everything is stored in either "%APPDATA%\Far Manager\Profiles\<Default|ProfileName>" or "%FARHOME%\UserData\Profiles\<Default|ProfileName>".
   This is switched in Far.exe.ini\General\UseSystemProfiles, 1|0.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё одна переделка путей.
   Теперь всё лежит или в "%APPDATA%\Far Manager\Profiles\<Default|ProfileName>", или в "%FARHOME%\UserData\Profiles\<Default|ProfileName>".
   Переключается в Far.exe.ini\General\UseSystemProfiles, 1|0.

--------------------------------------------------------------------------------
drkns 2011-03-21 16:17:18+02:00 - build 1922

1. Correction of 1921:
   /u specifies the profile only.
   /s[<path>] specifies the path to profiles. If "path" is relative, it is relative to "%FARHOME%". An empty one means "%FARHOME%\Profiles".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 1921:
   /u задает только профиль.
   /s[<path>] задает путь к профилям. Если "path" относителен, то относителен к "%FARHOME%". Если пуст, то "%FARHOME%\Profiles".

--------------------------------------------------------------------------------
drkns 2011-03-21 11:11:11+02:00 - build 1921

1. update vcxproj.

2. sqlite warnings.

3. w32api-3.17 (or higher) required for gcc build.

4. The profile storage principle is changed:
   Default path to profiles: "%APPDATA%\Far Manager\Profiles"
   Default profile: "Default"
   Thus, settings are here by default: "%APPDATA%\Far Manager\Profiles\Default"

   Path to profiles can be redefined in file "%FARHOME%\Far.exe.ini":
   Section: Profiles
   Parameter: BasePath
   Value: new path to profiles. If the path is relative then it is meant to be relative to %FARHOME%.

   /u key gets "username" parameter to be considered as the path to the profile.
   If the path is relative then it is meant to be relative to "%APPDATA%\Far Manager\Profiles" or to the path specified in "Far.exe.ini".
   If the path is absolute then it is absolute :)

   Examples:
     "far.exe" - profile in "%APPDATA%\Far Manager\Profiles\Default" (or in "<BasePath>\Default")
     "far.exe /u foo" - profile in "%APPDATA%\Far Manager\Profiles\foo" (or in "<BasePath>\foo")
     "far.exe /u d:\bar" - profile in "d:\bar"

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. update vcxproj.

2. sqlite warnings.

3. w32api-3.17 (or higher) required for gcc build.

4. Изменен принцип хранения профилей:
   Путь к профилям по умолчанию: "%APPDATA%\Far Manager\Profiles"
   Профиль по умолчанию: "Default"
   Итого, по умолчанию настройки здесь: "%APPDATA%\Far Manager\Profiles\Default"

   Путь к профилям может быть переопределён в файле "%FARHOME%\Far.exe.ini":
   Секция: Profiles
   Параметр: BasePath
   Значение: новый путь к профилям. Если путь относителен, то считается, что он относителен к %FARHOME%.

   Ключ /u рассматривает параметр username как путь к профилю.
   Если этот путь относителен, то считается, что он относителен к "%APPDATA%\Far Manager\Profiles" либо к пути, указанному в "Far.exe.ini".
   Если этот путь абсолютен, то он абсолютен :)

   Примеры:
     "far.exe" - профиль в "%APPDATA%\Far Manager\Profiles\Default" (или в "<BasePath>\Default")
     "far.exe /u foo" - профиль в "%APPDATA%\Far Manager\Profiles\foo" (или в "<BasePath>\foo")
     "far.exe /u d:\bar" - профиль в "d:\bar"

--------------------------------------------------------------------------------
t-rex 2011-03-20 23:20:31+02:00 - build 1920

1. generalconfig.db schema is changed for inner convenience (generalconfig.db must be deleted).

2. All common settings moved to generalconfig.db.
   Now the turn is for history, associations, filters, positions, highlight, hotkeys, macros, pluginscache, shortcuts, usermenu, panelmodes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Изменилась схема generalconfig.db для внутренего удобства (надо удалить старый generalconfig.db).

2. Все общие настройки переехали в generalconfig.db.
   Теперь очередь за history, associations, filters, positions, highlight, hotkeys, macros, pluginscache, shortcuts, usermenu, panelmodes.

--------------------------------------------------------------------------------
t-rex 2011-03-20 19:16:44+02:00 - build 1919

1. Debug target build failure.

--------------------------------------------------------------------------------
t-rex 2011-03-20 18:23:03+02:00 - build 1918

1. sqlite code moved to configdb.cpp

2. using sqlite3_clear_bindings() for correctness.

3. GeneralConfig is appended with BEGIN/END TRANSACTION to speed up sequential insertions.

4. for "outer space", DB access abstract classes are made to avoid sqlite3.h and other stuff be included everywhere.

5. a kind of singleton for DB access inner classes.

6. precompiled headers are disconnected from plugin.hpp, it was pointless because it used to change too often.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. sqlite-товый код переехал в configdb.cpp

2. юзаем sqlite3_clear_bindings() для правильности.

3. для GeneralConfig добалены BEGIN/END TRANSACTION для ускорения поочередных инсертов.

4. для "наружи" сделаны абстрактные классы доступа к базе, чтоб не таскать везде sqlite3.h и другие внутрености.

5. типа сингелтон для внутрених классов доступа к базе.

6. отвязка precompiled headers от plugin.hpp а то все ровно смысла нет, часто уж меняется он.

--------------------------------------------------------------------------------
t-rex 2011-03-20 02:45:34+02:00 - build 1917

1. Transfer of settings to sqlite is started.
   Common settings have been partially moved.
   %appdata%\Far Manager\generalconfig.db

2. PRAGMA synchronous = 0; for better sqlite performance.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Начинаем переводить настройки фара в sqlite.
   Частично переехали настройки общего плана.
   %appdata%\Far Manager\generalconfig.db

2. PRAGMA synchronous = 0; чтоб sqlite работал быстро.

--------------------------------------------------------------------------------
t-rex 2011-03-19 21:35:56+02:00 - build 1916

1. "Old" plugin settings API is back.

2. DB schema and code are changed to support tree-like structure of plugins settings according to API.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Вернём "старый" API настроек плагинов.

2. Схема базы и код изменены чтоб поддерживать древовидную структуру настроек плагинов в соот. с API.

--------------------------------------------------------------------------------
t-rex 2011-03-19 17:59:17+02:00 - build 1915

1. Starting to use sqlite database instead of the registry, plugins settings only for now.
   The data is stored in %appdata%\Far Manager\pluginsconfig.db
   sqlite source is included in FAR for now, then we'll see if it is reasonable to move it to dll.

2. Plugins settings API is slightly changed, "subkey" and "root" notions are removed.
   It is recommended to assign names like xxx.yyy, xxx.zzz to settings if any kind of tree-like structure is needed,
   for the moment when a visual editor appears.

3. Warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Начинаем использовать sqlite базы вместо реестра, пока что сделано только для настроек плагинов.
   Хранится в %appdata%\Far Manager\pluginsconfig.db
   Код sqlite на сей момент включен в фар, потом посмотрим если стоит выкинуть его в dll.

2. Слегка изменён API настроек плагинов, больше нету понятия subkey и root.
   Рекомендуется называть настройки как xxx.yyy, xxx.zzz если хочется своего рода древовидной структуры
   на момент когда будет какойто визуальный редактор для этого дела.

3. Ворнинги.

--------------------------------------------------------------------------------
zeroes 2011-03-18 16:22:17+02:00 - build 1914

1. Correction of the type of a variable

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Коррекция типа переменной

--------------------------------------------------------------------------------
svs 2011-03-18 16:51:39+03:00 - build 1913

1. Macro: Keybar.Show() function is added

     N=KeyBar.Show([N])

        0 - get state
            ret: 0 - hide, 1 - show, -1 - KeyBar not found
        1 - show
        2 - hide
        3 - swap
        ret: prev mode or -1 - KeyBar not found

   "KeyBar found" in panels, editor and viewer. And only if the area is current.
   In other areas (including the help area) -1 is returned.

   For example, Esc in panels
      CtrlO $if (APanel.Visible && PPanel.Visible) KeyBar.Show(1) $else KeyBar.Show(2) $end
   if panels are hidden, hide the keybar too.

2. Combo box selection was broken in macro keys assignment dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: Добавлена функция Keybar.Show()

     N=KeyBar.Show([N])

        0 - get state
            ret: 0 - hide, 1 - show, -1 - KeyBar not found
        1 - show
        2 - hide
        3 - swap
        ret: prev mode or -1 - KeyBar not found

   KeyBar found в панелях, редакторе, вьювере. И только если они текущие.
   В остальных (в т.ч. в хелпе) возвращается -1.

   Например, Esc в панелях
      CtrlO $if (APanel.Visible && PPanel.Visible) KeyBar.Show(1) $else KeyBar.Show(2) $end
   при погашенных панелях гасить и кейбар.

2. В диалоге назначения макроклавиш отвалился выбор из комбобокса.

--------------------------------------------------------------------------------
drkns 2011-03-18 10:06:22+02:00 - build 1912

1. Correction of 1911.

--------------------------------------------------------------------------------
drkns 2011-03-18 09:05:21+02:00 - build 1911

1. In Folder Shortcuts, assignment of several types to one shortcut is supported (Ctrl-Alt-<0-9> in panels or ShiftIns in menu).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В Folder Shortcuts теперь поддерживается назначение нескольких путей на один shortcut (Ctrl-Alt-<0-9> в панелях или ShiftIns в меню).

--------------------------------------------------------------------------------
drkns 2011-03-17 21:31:28+02:00 - build 1910

1. Correction of types in plugin api.

--------------------------------------------------------------------------------
svs 2011-03-17 17:55:16+03:00 - build 1909

1. Mantis#0001733: XLat() macrofunction must not switch current keyboard layout.

   The function is granted with a second parameter - optional flags, and does not depend on TechInfo#10.

     S=xlat(S[,Flags])

     flags
       XLAT_SWITCHKEYBLAYOUT  = 1
       XLAT_SWITCHKEYBBEEP    = 2
       XLAT_USEKEYBLAYOUTNAME = 4

   print(xlat("Qwerty"))
   outputs "Йцукен" and herewith:
     * keyboard layout is not switched
     * there's no sound
     * values "00000409", "00000419" etc. from "HKCU\Software\Far2\XLat" branch are not used

   print(xlat("Qwerty",6))
   outputs "Йцукен" and herewith:
     * keyboard layout is not switched
     * there's a beep (sound)
     * values "00000409", "00000419" etc. from "HKCU\Software\Far2\XLat" branch are used

   $XLat macrocommand still depends on TechInfo#10

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001733: Макрофункция XLat() не должна переключать текущий язык ввода.

   Функция получает в подарок второй параметр - необязательные флаги и не зависит от TechInfo#10.

     S=xlat(S[,Flags])

     флаги
       XLAT_SWITCHKEYBLAYOUT  = 1
       XLAT_SWITCHKEYBBEEP    = 2
       XLAT_USEKEYBLAYOUTNAME = 4

   print(xlat("Qwerty"))
   выдаст "Йцукен" и при этом:
     * переключения раскладки не будет
     * звука не будет
     * не будут использоваться значения типа "00000409", "00000419" и т.п. из ветки "HKCU\Software\Far2\XLat"

   print(xlat("Qwerty",6))
   выдаст "Йцукен" и при этом:
     * переключения раскладки не будет
     * пискнет (звук)
     * будут использоваться значения типа "00000409", "00000419" и т.п. из ветки "HKCU\Software\Far2\XLat"

   Макрокоманда $XLat по прежнему зависит от TechInfo#10

--------------------------------------------------------------------------------
drkns 2011-03-14 11:11:11+02:00 - build 1908

1. PluginHotkeys is now in GUID\GUID format.

2. Commands, viewer/editor, folder, dialog histories moved to History subkey.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. PluginHotkeys теперь в формате GUID\GUID.

2. Истории команд, просмотра/редактирования, папок, диалогов переехали в подключ History.

--------------------------------------------------------------------------------
drkns 2011-03-10 20:54:46+02:00 - build 1907

1. Error loading plugins from cache.

--------------------------------------------------------------------------------
drkns 2011-03-11 14:12:42+02:00 - build 1906

1. Plugin version format is changed, now this is a structure. You can specify additional information there: alpha, beta, rc, release.

2. ACTL_GETFARVERSION now always returns TRUE, it is also renamed to ACTL_GETFARMANAGERVERSION to prevent mistakes.

3. plugin.hpp is pure C compatible again.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Изменён формат версии плагина, теперь это структура. Там же можно указывать дополнительную информацию: alpha, beta, rc, release.

2. ACTL_GETFARVERSION теперь всегда возвращает TRUE и, во избежание ошибок, переименована в ACTL_GETFARMANAGERVERSION.

3. plugin.hpp снова совместим с pure C.

--------------------------------------------------------------------------------
drkns 2011-03-10 16:22:44+02:00 - build 1905

1. Warnings, optimization.

--------------------------------------------------------------------------------
drkns 2011-03-10 12:10:12+02:00 - build 1904

1. File::<G|S>etPointer optimization. As a consequence:
    Mantis#0001668: CachedRead and CacheWrite classes are quite ineffective in performance terms.
    Mantis#0001431: 100% CPU load while page scrolling in viewer

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Оптимизация File::<G|S>etPointer. Как следствие:
    Mantis#0001668: Классы CachedRead и CacheWrite крайне неэффективны с точки зрения производительности.
    Mantis#0001431: 100% загрузка процессора при пролистывании файла

--------------------------------------------------------------------------------
svs 2011-03-09 08:15:51+03:00 - build 1903

1. Mantis#0000786: Incorrect output of UTF-8 encoded files content in viewer after positioning at search results
   from 2useven10

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000786: Неверное отображение найденного текста в файлах UTF-8
   from 2useven10

--------------------------------------------------------------------------------
drkns 2011-03-08 09:23:34+02:00 - build 1902

1. Correction of 1892.1.

--------------------------------------------------------------------------------
drkns 2011-03-07 21:45:33+02:00 - build 1901

1. Correction of 1899.2.

--------------------------------------------------------------------------------
drkns 2011-03-07 14:43:32+02:00 - build 1900

1. All buttons in Message() were "default".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В Message() все кнопки были "по умолчанию".

--------------------------------------------------------------------------------
drkns 2011-03-07 13:35:35+02:00 - build 1899

1. OpenPanelW -> OpenW.

2. CompareW, DeleteFilesW, FreeFindDataW, FreeVirtualFindDataW, GetFilesW, GetFindDataW, GetOpenPanelInfoW, GetVirtualFindDataW, MakeDirectoryW, OpenW, ProcessHostFileW, ProcessMacroFuncW, PutFilesW, SetDirectoryW, SetFindListW functions take a structure as a parameter.

3. Wrapper corrections.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. OpenPanelW -> OpenW.

2. Функции CompareW, DeleteFilesW, FreeFindDataW, FreeVirtualFindDataW, GetFilesW, GetFindDataW, GetOpenPanelInfoW, GetVirtualFindDataW, MakeDirectoryW, OpenW, ProcessHostFileW, ProcessMacroFuncW, PutFilesW, SetDirectoryW, SetFindListW принимают структуру в качестве параметра.

3. Уточнения враппера.

--------------------------------------------------------------------------------
zg 2011-03-07 12:29:13+02:00 - build 1898

1. FarColor structure is added.

2. FARCOLORFLAGS is renamed to FARSETCOLORFLAGS.

3. ECF_TAB1 moved to EditorColor.Flags.

4. EditorColor.Color type is now FarColor.

--------------------------------------------------------------------------------
zg 2011-03-01 11:12:03+02:00 - build 1897

1. Regular expressions replacement used to crash on empty parentheses.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. замена с регэкпами падала на пустых скобках.

--------------------------------------------------------------------------------
drkns 2011-02-28 14:27:07+02:00 - build 1896

1. Plugins\<PluginGUID> keys contain PluginTitle as Default, for those manual editing fans.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В ключах Plugins\<PluginGUID> в Default пишется PluginTitle, для любителей ручного редактирования.

--------------------------------------------------------------------------------
drkns 2011-02-27 23:33:05+02:00 - build 1895

1. Correction of debug versions of delete[] and delete.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение отладочных версий delete[] и delete.

--------------------------------------------------------------------------------
drkns 2011-02-27 13:26:39+02:00 - build 1894

1. Plugin settings are now stored at Plugins\<PluginGUID> instead of Plugins\<PluginTitle>.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Настройки плагинов теперь хранятся не в Plugins\<PluginTitle>, а в Plugins\<PluginGUID>.

--------------------------------------------------------------------------------
drkns 2011-02-24 21:04:51+02:00 - build 1893

1. Warnings.

--------------------------------------------------------------------------------
drkns 2011-02-24 20:34:19+02:00 - build 1892

1. Some correction on launcher functionality.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнения работы запускателя.

--------------------------------------------------------------------------------
drkns 2011-02-24 17:09:22+02:00

1. Makeup.

--------------------------------------------------------------------------------
drkns 2011-02-24 16:48:26+02:00 - build 1891

1. OpenFilePluginW = AnalyseW + OpenPanelW.
   OpenPluginW = OpenPanelW
   ClosePluginW = ClosePanelW
   GetOpenPluginInfoW = GetOpenPanelInfoW
   OpenPluginInfo = OpenPanelInfo
   FCTL_CLOSEPLUGIN = FCTL_CLOSEPANEL

--------------------------------------------------------------------------------
zg 2011-02-24 02:48:54+02:00 - build 1890

1. Plugins with PF_PRELOAD flag were not loaded correctly if they had already been in the cache.

2. SCTL_CREATE did not return an error in the case of incorrect GUID.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. неверно загружались плагины с флагом PF_PRELOAD, если они уже находились в кэше.

2. SCTL_CREATE не возвращала ошибку для неверного гуида.

--------------------------------------------------------------------------------
drkns 2011-02-23 20:34:14+02:00 - build 1889

1. VC level 4 warnings.

1. Rollback of 1781.2

--------------------------------------------------------------------------------
drkns 2011-02-21 09:36:32+02:00 - build 1888

1. gcc warnings & O3 optimization.

--------------------------------------------------------------------------------
zg 2011-02-20 19:22:59+02:00 - build 1887

1. correction of SettingsControl(...,SCTL_SET,...): if Type equals to FST_SUBKEY then a key "Name" is created.

2. correction of 1886.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение SettingsControl(...,SCTL_SET,...): если Type равно FST_SUBKEY, то создаётся ключ с именем Name.

2. уточнение 1886.

--------------------------------------------------------------------------------
zg 2011-02-20 19:00:26+02:00 - build 1886

1. SettingsControl:

   SCTL_DELETE            - delete subkey or value.
                            hHandle - HANDLE returned by SCTL_CREATE.
                            Param2 - pointer to FarSettingsValue.
                            Root - descriptor of a key containing the thing being deleted.
                            Value - the name of a subkey or a value to delete.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. SettingsControl:

   SCTL_DELETE            - удалить подключ или значение.
                            hHandle - HANDLE, который вернул SCTL_CREATE.
                            Param2 - указатель на FarSettingsValue.
                            Root - описатель ключа, в котором находится удаляемое.
                            Value - имя подключа или значения, которое надо удалить.

--------------------------------------------------------------------------------
drkns 2011-02-20 16:53:10+02:00 - build 1885

1. And more.

--------------------------------------------------------------------------------
drkns 2011-02-20 16:36:47+02:00 - build 1884

1. Correction of types in plugin.hpp.

2. gcc warnings.

--------------------------------------------------------------------------------
svs 2011-02-19 10:26:53+03:00 - build 1883

1. Correction of build 1880

--------------------------------------------------------------------------------
svs 2011-02-18 15:36:25+03:00 - build 1882

1. Correction of build 1880

--------------------------------------------------------------------------------
drkns 2011-02-18 13:50:12+02:00 - build 1881

1. Mantis#0001714: Error at the attempt of leaving to shares list via "..".

2. Mantis#0001716: Ctrl+C in panels does not copy files to clipboard.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001714: Ошибка при попытке выхода в список шар через "..".

2. Mantis#0001716: Комбинация Ctrl+C в панелях не копирует файлы в буфер.

--------------------------------------------------------------------------------
svs 2011-02-18 11:10:57+03:00 - build 1880

1. Mantis#0001482: <!Macro:Vars!> and <!Macro:Consts!> output improvement
   Now these (and similar) construcctions in help take information from
   memory only (not from the registry).
   At the moment, there's a little drawback - the list is unsorted.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantins#0001482: Улучшение вывода <!Macro:Vars!> и <!Macro:Consts!>
   Теперь в хедпе данные (и подобные им) конструкции берут инфу только из
   памяти (не из реестра).
   В данный момент есть небольшой недостаток - неотсортированный список.

--------------------------------------------------------------------------------
drkns 2011-02-18 09:21:21+02:00 - build 1879

1. In 1810, renaming to "*.ext" was broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В 1810 погнулось переименование в "*.ext".

--------------------------------------------------------------------------------
drkns 2011-02-17 17:03:03+02:00 - build 1878

1. Bugs in wrapper.

--------------------------------------------------------------------------------
drkns 2011-02-17 14:39:39+02:00 - build 1877

1. gcc.

--------------------------------------------------------------------------------
drkns 2011-02-17 12:35:35+02:00 - build 1876

1. Correction of types in plugin.hpp.

2. Bugs in wrapper.

--------------------------------------------------------------------------------
drkns 2011-02-16 21:03:11+02:00 - build 1875

1. Techinfo #48 is removed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Techinfo #48 - всё.

--------------------------------------------------------------------------------
drkns 2011-02-16 19:57:08+02:00 - build 1874

1. Correction of types in plugin.hpp.

--------------------------------------------------------------------------------
drkns 2011-02-16 17:00:00+02:00 - build 1873

1. Correction of types in plugin.hpp.

2. vc build.

3. warnings.

--------------------------------------------------------------------------------
zg 2011-02-16 12:32:54+02:00 - build 1872

1. SettingsControl:

   SCTL_ENUM              - get the list of subkeys and values.
                            hHandle - HANDLE returned by SCTL_CREATE.
                            Param2 - pointer to FarSettingsEnum.
                            Root - subkey descriptor where to get information from.
                            Count - the number of returned elements.
                            Items - elements.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. SettingsControl:

   SCTL_ENUM              - получить спиок подключей и значений.
                            hHandle - HANDLE, который вернул SCTL_CREATE.
                            Param2 - указатель на FarSettingsEnum.
                            Root - описатель ключа, откуда брать информацию.
                            Count - количество возвращаемых элементов.
                            Items - элементы.

--------------------------------------------------------------------------------
zg 2011-02-16 02:23:03+02:00 - build 1871

1. Settings storage API:

   int WINAPI SettingsControl(HANDLE hHandle, int Command, int Param1, INT_PTR Param2)

   Command:

   SCTL_CREATE            - hHandle - INVALID_HANDLE_VALUE.
                            Param2 - FarSettingsCreate, in - plugin's GUID, out - settings handle.
                            Return FALSE if failed.
   SCTL_FREE              - hHandle - HANDLE returned by SCTL_CREATE.
   SCTL_SET               - hHandle - HANDLE returned by SCTL_CREATE.
                            Param2 - pointer to FarSettingsItem.
                            Root - specifies the place for settings storage. 0 - root for the plugin. subkeys are made with SCTL_SUBKEY.
                            Name - the name of the stored value.
                            Type - type.
                            Value - the value itself.
   SCTL_GET               - hHandle - HANDLE returned by SCTL_CREATE.
                            Param2 - pointer to FarSettingsItem.
                            Value is filled in by FAR, the rest is done by the plugin.
   SCTL_SUBKEY            - hHandle - HANDLE returned by SCTL_CREATE.
                            Param2 - pointer to FarSettingsValue.
                            return the descriptor of a subkey named as "Value" for a subkey with "Root" descriptor.

2. PluginStartupInfo.RootKey field is removed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. API для хранения настроек:

   int WINAPI SettingsControl(HANDLE hHandle, int Command, int Param1, INT_PTR Param2)

   Command:

   SCTL_CREATE            - hHandle - INVALID_HANDLE_VALUE.
                            Param2 - FarSettingsCreate, на входе guid плагина, на выходе - хэндл настроек.
                            При неудаче вернёт FALSE.
   SCTL_FREE              - hHandle - HANDLE, который вернул SCTL_CREATE.
   SCTL_SET               - hHandle - HANDLE, который вернул SCTL_CREATE.
                            Param2 - указатель на FarSettingsItem.
                            Root - задаёт место сохранения настроек. 0 - корень для плагина. подключи получаются при помощи SCTL_SUBKEY.
                            Name - имя сохраняемого значения.
                            Type - тип.
                            Value - само значение.
   SCTL_GET               - hHandle - HANDLE, который вернул SCTL_CREATE.
                            Param2 - указатель на FarSettingsItem.
                            Value заполняет фар, остальное - плагин.
   SCTL_SUBKEY            - hHandle - HANDLE, который вернул SCTL_CREATE.
                            Param2 - указатель на FarSettingsValue.
                            возвращает описатель подключа с именем Value для ключа с описателем Root.

2. поле PluginStartupInfo.RootKey удалено.

--------------------------------------------------------------------------------
t-rex 2011-02-16 01:00:45+02:00 - build 1870

1. Miscellaneous additions and corrections in DialogBuilder.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Различные добавления и исправления в DialogBuilder.

--------------------------------------------------------------------------------
t-rex 2011-02-14 21:28:51+02:00 - build 1869

1. DialogBuilder: DIF_3STATE, DlgProc and UserParam support, one may omit a separator before Ok/Cancel.

2. DialogBuilder: DI_SINGLEBOX support is reworked.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. DialogBuilder: поддержка DIF_3STATE, DlgProc и UserParam, можно не добавлять сепаратор перед Ok/Cancel.

2. DialogBuilder: переделка поддержки DI_SINGLEBOX.

--------------------------------------------------------------------------------
drkns 2011-02-13 21:56:25+02:00 - build 1868

1. Warnings.

--------------------------------------------------------------------------------
zg 2011-02-13 21:25:20+02:00 - build 1867

1. plugin.hpp is pure C compatible again.

2. all API flags are 64 bit wide.

3. correction of 1866.3: the type of StructSize is size_t.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. plugin.hpp снова совместим с pure C.

2. все флаги в апи 64 битные.

3. уточнение 1866.3: тип StructSize - size_t.

--------------------------------------------------------------------------------
zg 2011-02-13 15:29:55+02:00 - build 1866

1. DN_CLOSE is not equal to DM_CLOSE anymore.

2. DM_CLOSE always returned TRUE.

3. StructSize in API structures is unsigned everywhere.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. DN_CLOSE больше не равен DM_CLOSE.

2. DM_CLOSE всегда возвращал TRUE.

3. StructSize в апишных структурах везде unsigned.

--------------------------------------------------------------------------------
zg 2011-02-13 11:01:58+02:00 - build 1865

1. disk menu plugin hotkeys were not read.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. не считывались хоткеи плагинов в меню дисков.

--------------------------------------------------------------------------------
drkns 2011-02-13 00:39:44+02:00 - build 1864

1. debug build is fixed.

2. ACTL_GETPOLICIES is removed.

--------------------------------------------------------------------------------
zg 2011-02-12 23:57:50+02:00 - build 1863

1. "StructSize" field is added to PanelMode.

2. FullScreen, DetailedStatus, AlignExtensions and CaseConversion fields are removed from PanelMode. Instead, Flags field is added with appropriate flags.

3. "Reserved" field is removed from PanelMode.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. в PanelMode добавилось поле StructSize.

2. из PanelMode убраны поля FullScreen, DetailedStatus, AlignExtensions и CaseConversion. взамен добавлено поле Flags и соответствующие флаги.

3. из PanelMode убрано поле Reserved.

--------------------------------------------------------------------------------
zg 2011-02-12 20:10:48+02:00 - build 1862

1. FarKey structure is added. FarKey.VirtualKeyCode is similar to KEY_EVENT_RECORD.wVirtualKeyCode. FarKey.ControlKeyState is similar to KEY_EVENT_RECORD.dwControlKeyState.

2. BreakKeys Menu parameter is now a pointer to FarKey array.

3. the type of KeyBarLabel.Key is FarKey.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Добавлена структура FarKey. FarKey.VirtualKeyCode аналогична KEY_EVENT_RECORD.wVirtualKeyCode. FarKey.ControlKeyState аналогична KEY_EVENT_RECORD.dwControlKeyState.

2. параметр BreakKeys Menu тепер указатель на массив FarKey.

3. тип KeyBarLabel.Key - FarKey.

--------------------------------------------------------------------------------
drkns 2011-02-12 18:01:44+02:00 - build 1861

1. Fix for an ancient bug related to DefDlgProc for ANSI plugins.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Исправлен древний баг с DefDlgProc для ansi-плагинов.
   Ограничение: если кто-то вместо "return DefDlgProc(...)" получал return value и что-то с ним делал - ССЗБ :)

--------------------------------------------------------------------------------
zg 2011-02-11 18:45:24+02:00 - build 1860

1. ACTL_GETSHORTWINDOWINFO is removed for its meaninglessness.

2. thread-safe ACTL_GETWINDOWTYPE call. Param points to WindowType. TRUE is returned in case of success, FALSE otherwise.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. ACTL_GETSHORTWINDOWINFO убрана из-за своей бессмысленности.

2. thread-safe вызов ACTL_GETWINDOWTYPE. Param - указатель на структуру WindowType. в случае удачи возвращается TRUE, иначе FALSE.

--------------------------------------------------------------------------------
zg 2011-02-11 17:01:22+02:00 - build 1859

1. DN_MOUSEEVENT is renamed to DN_INPUT. Param2 points to INPUT_RECORD. in future, passing of events other than mouse events is planned, therefore EventType checking is strongly recommended.

2. DN_KEY and DN_MOUSECLICK are combined to DN_CONTROLINPUT. Param2 points to INPUT_RECORD. in future, passing of other events is planned.

3. DM_KEY is no more equal to DN_KEY.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. DN_MOUSEEVENT переименовано в DN_INPUT. Param2 указывает на INPUT_RECORD. в будущем планируется приход не только мышиных событий, поэтому настоятельно рекомендуется проверять EventType.

2. DN_KEY и DN_MOUSECLICK объеденены в DN_CONTROLINPUT. Param2 указывает на INPUT_RECORD. в будущем планируется приход и других событий.

3. DM_KEY больше не равна DN_KEY.

--------------------------------------------------------------------------------
t-rex 2011-02-11 13:04:02+02:00 - build 1858

1. DialogBuilder is now capable of DI_SINGLEBOX with automatic elements grouping.

2. DialogBuilder is now capable of DI_FIXEDIT with text mask.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. DialogBuilder теперь умеет и DI_SINGLEBOX с автоматичиской групировкой элементов в нём.

2. DialogBuilder теперь умеет DI_FIXEDIT с маской для текста.

--------------------------------------------------------------------------------
svs 2011-02-11 10:27:51+03:00 - build 1857

1. Mantis#0001482: Improvement of <!Macro:Vars!> and <!Macro:Consts!> output

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001482: Улучшение вывода <!Macro:Vars!> и <!Macro:Consts!>

--------------------------------------------------------------------------------
t-rex 2011-02-11 01:56:20+02:00 - build 1856

1. ANSI code cleanup in DialogBuilder.

2. A couple makeup trivia in code.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Чистка анси кода из DialogBuilder.

2. Пару косметических мелочей в коде.

--------------------------------------------------------------------------------
drkns 2011-02-11 00:14:23+02:00 - build 1855

1. Mantis#0001713: Access to "." and ".." folders on non-NTFS volumes.
   Now "." and ".." can be entered by UNC-paths, listed etc.

2. VC warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001713: Доступ к папкам "." и ".." на не-NTFS дисках.
   В "." и ".." теперь можно входить по UNC-путям, смотреть листинг и т.п.

2. VC warnings.

--------------------------------------------------------------------------------
zg 2011-02-11 00:03:05+02:00 - build 1854

1. rollback of 1853.

2. correction of 1852, -1 for the current editor/viewer.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. откат 1853.

2. уточнение 1852, текущий редактор/просмотр - -1.

--------------------------------------------------------------------------------
t-rex 2011-02-10 22:59:45+02:00 - build 1853

1. For 1852 to work, Viewer/EditorID in FAR must start from 1, not from 0.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Чтоб 1852 правильно работал, Viewer/EditorID в фаре должны начинатся с 1 а не с 0.

--------------------------------------------------------------------------------
t-rex 2011-02-10 20:15:23+02:00 - build 1852

1. Correction of 1851:
     int WINAPI EditorControl(int EditorID, int Command, int Param1, INT_PTR Param2);
     int WINAPI ViewerControl(int ViewerID, int Command, int Param1, INT_PTR Param2);

   ID instead of HANDLE, 0 for the current editor/viewer.

2. One could not call Viewer/EditorControl from panels for ID!=0.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Исправление 1851:
     int WINAPI EditorControl(int EditorID, int Command, int Param1, INT_PTR Param2);
     int WINAPI ViewerControl(int ViewerID, int Command, int Param1, INT_PTR Param2);

   ID вместо HANDLE, 0 для текущего редактора/вьювера.

2. Нельзя было вызывать Viewer/EditorControl из панелей для ID!=0.

--------------------------------------------------------------------------------
svs 2011-02-10 18:26:54+03:00 - build 1851

1. Rearrangement of EditorControl, ViewerControl and RegExpControl.
   Now it looks like this:
     int WINAPI EditorControl(HANDLE hHandle, int Command, int Param1, INT_PTR Param2);
     int WINAPI ViewerControl(HANDLE hHandle, int Command, int Param1, INT_PTR Param2);
     int WINAPI RegExpControl(HANDLE hHandle, int Command, int Param1, INT_PTR Param2);

   For editor/viewer, if hHandle == INVALID_HANDLE_VALUE - the current editor/viewer (1.7x wrapper works with the current one)
   Otherwise, the value from EditorInfo::EditorID is taken as a handle.

   Param1 is unused so far.

   Inner EditorControl and ViewerControl implementations (in classes) still remain unchanged.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Переделка EditorControl, ViewerControl и RegExpControl.
   Теперь это так:
     int WINAPI EditorControl(HANDLE hHandle, int Command, int Param1, INT_PTR Param2);
     int WINAPI ViewerControl(HANDLE hHandle, int Command, int Param1, INT_PTR Param2);
     int WINAPI RegExpControl(HANDLE hHandle, int Command, int Param1, INT_PTR Param2);

   Для редактора/вьювера если hHandle равен INVALID_HANDLE_VALUE - текущий редактор/вьювер (врапер для 1.7x работает с текущим)
   В противном случае берем значение из EditorInfo::EditorID в качестве хэндла.

   Param1 пока не юзается.

   Внутренние реализации EditorControl и ViewerControl (в классах) остались пока прежними.

--------------------------------------------------------------------------------
zg 2011-02-10 14:25:07+02:00 - build 1850

1. OPM_PGDN is added. it is passed to OpenFilePluginW if PgDn has been pressed on a file.

2. OPEN_DISKMENU->OPEN_LEFTDISKMENU. OPEN_RIGHTDISKMENU is added.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. добавлен OPM_PGDN. приходит в OpenFilePluginW если на файле нажали PgDn.

2. OPEN_DISKMENU->OPEN_LEFTDISKMENU. добавлена OPEN_RIGHTDISKMENU.

--------------------------------------------------------------------------------
svs 2011-02-10 12:01:19+03:00 - build 1849

1. Rearrangement of "ACTL_KEYMACRO".

   * removed: ACTL_KEYMACRO, FARMACROCOMMAND, struct ActlKeyMacro
   * added: MacroControl, MACRO_CONTROL_COMMANDS, FARMACROSENDSTRINGCOMMAND, struct MacroSendMacroText, struct MacroCheckMacroText

   New API look:
   int Info.MacroControl(HANDLE hHandle,int Command,int Param1,INT_PTR Param2)
    hHandle = 0
    Command:
       MCTL_LOADALL
         Param1=0
         Param2=0
         Return=0|1
       MCTL_SAVEALL
         Param1=0
         Param2=0
         Return=0|1
       MCTL_SENDSTRING
         Param1:
           MSSC_POST
             Param2=MacroSendMacroText*
             Return=0|1
           MSSC_EXEC (a stub so far, unused)
             Param2=MacroSendMacroText*
             Return=0|1
           MSSC_CHECK
             Param2=MacroCheckMacroText* (Text)
             Return=0|1 in Param2=MacroCheckMacroText* (Check)
       MCTL_GETSTATE
         Param1=0
         Param2=0
         Return=FARMACROSTATE
       MCTL_GETAREA
         Param1=0
         Param2=0
         Return=FARMACROAREA

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Переделки в "ACTL_KEYMACRO".

   * удалены: ACTL_KEYMACRO, FARMACROCOMMAND, struct ActlKeyMacro
   * добавлено: MacroControl, MACRO_CONTROL_COMMANDS, FARMACROSENDSTRINGCOMMAND, struct MacroSendMacroText, struct MacroCheckMacroText

   Новое АПИ выглядит так:
   int Info.MacroControl(HANDLE hHandle,int Command,int Param1,INT_PTR Param2)
    hHandle = 0
    Command:
       MCTL_LOADALL
         Param1=0
         Param2=0
         Return=0|1
       MCTL_SAVEALL
         Param1=0
         Param2=0
         Return=0|1
       MCTL_SENDSTRING
         Param1:
           MSSC_POST
             Param2=MacroSendMacroText*
             Return=0|1
           MSSC_EXEC (пока заглужка, не используется)
             Param2=MacroSendMacroText*
             Return=0|1
           MSSC_CHECK
             Param2=MacroCheckMacroText* (Text)
             Return=0|1 в Param2=MacroCheckMacroText* (Check)
       MCTL_GETSTATE
         Param1=0
         Param2=0
         Return=FARMACROSTATE
       MCTL_GETAREA
         Param1=0
         Param2=0
         Return=FARMACROAREA

--------------------------------------------------------------------------------
zg 2011-02-10 02:16:46+02:00 - build 1848

1. correction of 1846.2.

--------------------------------------------------------------------------------
zg 2011-02-10 01:52:02+02:00 - build 1847

1. dialog plugins are prohibited for the dialog on plugin/FAR version mismatch.

2. FMSG_LEFTALIGN was malfunctional.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. для диалога с сообщением о несоответствии версии плагина версии фара запрещены диалоговые плагины.

2. не работал FMSG_LEFTALIGN.

--------------------------------------------------------------------------------
zg 2011-02-10 01:00:03+02:00 - build 1846

1. DN_KEY processing in built-in dialogs is corrected.

2. MAKEFARVERSION: now the version is in the upper word, the build is in the lower word.

3. PluginMenuItem: Guid is replaced with Guids.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. исправлена обработка DN_KEY во встроенных диалога.

2. в MAKEFARVERSION теперь версия в старшем слове, билд в младшем.

3. в PluginMenuItem Guid заменён на Guids.

--------------------------------------------------------------------------------
zg 2011-02-09 20:25:20+02:00 - build 1845

1. FarDialogItem.Param.ListPos is removed.

--------------------------------------------------------------------------------
svs 2011-02-09 18:51:58+03:00 - build 1844

1. ActlKeyMacro: StructSize is added.

2. ACTL_POSTKEYSEQUENCE is removed (the analog is ACTL_KEYMACRO).
   FARKEYSEQUENCEFLAGS is renamed to FARKEYMACROFLAGS (also, KSFLAGS_* -> KMFLAGS_* ).
   struct KeySequence is removed.

3. Rearrangement of struct KeyBarTitles (part 1)

     struct KeyBarLabel
     {
        DWORD Key;
        const wchar *Text;
        const wchar *LongText;
     };
     struct KeyBarTitles
     {
        int CountLabels;
        struct KeyBarLabel *Labels;
     };

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В ActlKeyMacro добавлен StructSize

2. Удален ACTL_POSTKEYSEQUENCE (есть аналог в лице ACTL_KEYMACRO).
   FARKEYSEQUENCEFLAGS переименован в FARKEYMACROFLAGS (и KSFLAGS_* -> KMFLAGS_* ).
   Удалена структура KeySequence.

3. Переделка struct KeyBarTitles (часть 1)

     struct KeyBarLabel
     {
        DWORD Key;
        const wchar *Text;
        const wchar *LongText;
     };
     struct KeyBarTitles
     {
        int CountLabels;
        struct KeyBarLabel *Labels;
     };

--------------------------------------------------------------------------------
zg 2011-02-09 15:19:00+02:00 - build 1843

1. Correction of 1842.1: GetPluginDirList, Menu, Message, InputBox, AdvControl, DialogInit, GetMsg sometimes worked wrong in SetStartupInfoW and GetPluginInfoW.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 1842.1: GetPluginDirList, Menu, Message, InputBox, AdvControl, DialogInit, GetMsg не всегда работали в SetStartupInfoW и в GetPluginInfoW.

--------------------------------------------------------------------------------
zg 2011-02-09 03:42:44+02:00 - build 1842

1. in GetPluginDirList, Menu, Message, InputBox, AdvControl, DialogInit, GetMsg, one must pass a pointer to plugin's GUID instead of ModuleNumber.
   Thereafter, ModuleNumber is also removed from PluginStartupInfo.

2. in ConfigureW, OpenPluginW and DialogInit, GUID is replaced to a pointer to GUID.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. в GetPluginDirList, Menu, Message, InputBox, AdvControl, DialogInit, GetMsg вместо ModuleNumber нужно передавать указатель на GUID плагина. соответственно из PluginStartupInfo ModuleNumber тоже убран.

2. в ConfigureW, OpenPluginW, DialogInit GUID заменён на указатель на GUID.

--------------------------------------------------------------------------------
zg 2011-02-09 00:36:50+02:00 - build 1841

1. If suddenly FAR discovers a few plugins with identical GUIDs, only first one is loaded.

2. Plugin search by GUID is sped up.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. если внезапно фар обнаруживает несколько плагинов с одинаковым GUID, грузится только первый обнаруженный.

2. ускорен поиск плагинов по GUID.

--------------------------------------------------------------------------------
drkns 2011-02-08 21:48:00+02:00 - build 1840

1. DIF_INTERNALFOCUS & DIF_DEFAULT are removed.

2. plugin.hpp is redone a little.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Убраны DIF_INTERNALFOCUS & DIF_DEFAULT.

2. Немного перетасован plugin.hpp.

--------------------------------------------------------------------------------
zg 2011-02-08 19:39:28+02:00 - build 1839

1. flags were read incorrectly from plugin cache.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. неправильно считывались флаги из кэша плагинов.

--------------------------------------------------------------------------------
drkns 2011-02-08 16:52:23+02:00 - build 1838

1. VC warnings.

--------------------------------------------------------------------------------
zg 2011-02-08 14:57:17+02:00 - build 1837

1. correction of 1836.1.

2. FarDialogItem.UserParam is used as a value linked with dialog element (it is returned via DM_GETITEMDATA).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. уточнение 1836.1.

2. FarDialogItem.UserParam используется как значение связанное с элементом диалога (получается по DM_GETITEMDATA).

--------------------------------------------------------------------------------
zg 2011-02-08 13:54:18+02:00 - build 1836

1. FarDialogItem: Focus&DefaultButton are removed. Instead, there are DIF_FOCUS&DIF_DEFAULTBUTTON flags.

2. FarDialogItem: History&Mask are moved outside an union.

3. FarDialogItem: Flags is now 64 bit wide.

4. UserParam is added to FarDialogItem, unused yet.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. в FarDialogItem убраны поля Focus&DefaultButton. вместо них теперь флаги DIF_FOCUS&DIF_DEFAULTBUTTON.

2. в FarDialogItem поля History&Mask вынесены из объединения.

3. в FarDialogItem поле Flags теперь 64 битный.

4. в FarDialogItem добавлено поле UserParam. пока не используется.

--------------------------------------------------------------------------------
svs 2011-02-08 11:41:03+03:00 - build 1835

1. OpenPluginInfo::Reserved is removed,
   OpenPluginInfo::FreeSize is added (unsigned __int64)

2. OPIF_USEFREESIZE flag is added - "OpenPluginInfo::FreeSize component contains data"
   (or "when the flag is absent then FreeSize field is not relevant")
   That is, not any plugin provides "free space" notion (for example, Network or ImpEx)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. OpenPluginInfo::Reserved удалено,
   OpenPluginInfo::FreeSize добавлено (unsigned __int64)

2. Добавлен флаг OPIF_USEFREESIZE - "компонента OpenPluginInfo::FreeSize содержит данные"
   (или "при отсутствии этого флага поле FreeSize не актуально")
   Т.е. не у всех плагинов возможно понятие "свободное место" (например, Network или ImpEx)

--------------------------------------------------------------------------------
t-rex 2011-02-08 01:29:17+02:00 - build 1834

1. PluginNumber in InputBox (like everywhere) to let FAR know where help topics must be opened from (a very old bug).

2. Historical stuff is removed from plugin.hpp: DM_SETREDRAW=DM_REDRAW and DM_SETTEXTLENGTH=DM_SETMAXTEXTLENGTH.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. PluginNumber в InputBox (как везде) чтоб фар знал откуда топики хэлпа открывать (старый очень баг).

2. Удалены исторические фигни в plugin.hpp: DM_SETREDRAW=DM_REDRAW и DM_SETTEXTLENGTH=DM_SETMAXTEXTLENGTH.

--------------------------------------------------------------------------------
zg 2011-02-08 00:40:42+02:00 - build 1833

1. implementation of CallPlugin&FindPlugin for GUIDs.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. реализация CallPlugin&FindPlugin для GUID-ов.

--------------------------------------------------------------------------------
drkns 2011-02-07 23:12:53+02:00 - build 1832

1. Typo in 1831.

--------------------------------------------------------------------------------
drkns 2011-02-07 21:12:08+02:00 - build 1831

1. API:
   - A new export: void GetGlobalInfoW(GlobalInfo* Info), where:

   struct GlobalInfo
   {
    int StructSize;              // size
    DWORD MinFarVersion;         // minimal required Far version
    DWORD Version;               // plugin's version (in same form)
    GUID Guid;                   // plugin's GUID
    const wchar_t *Title;        // plugin's common name
    const wchar_t *Description;  // description/comment/additional
    const wchar_t *Author;       // plugin's author
  };

  A plugin must export GetGlobalInfoW.
  All fields must be filled in.
  The function is called once.

2. SysID is removed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. API:
   - Новый экспорт: void GetGlobalInfoW(GlobalInfo* Info), где:

   struct GlobalInfo
   {
    int StructSize;              // размер
    DWORD MinFarVersion;         // минимальная требуемая версия Far
    DWORD Version;               // версия плагина (в том же формате)
    GUID Guid;                   // GUID плагина
    const wchar_t *Title;        // общее название плагина
    const wchar_t *Description;  // описание/комментарий/дополнительно
    const wchar_t *Author;       // автор плагина
  };

  Плагин обязан экспортировать GetGlobalInfoW.
  Все поля должны быть заполнены.
  Функция вызывается один раз.

2. SysID больше нет.

--------------------------------------------------------------------------------
zg 2011-02-07 12:41:30+02:00 - build 1830

1. a new parameter in DialogInit: dialog's GUID.

2. a new field in DialogInfo: Owner. It contains the GUID of the plugin that has invoked the dialog.

3. DN_GETDIALOGINFO is removed for its uselessness.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. у DialogInit новый параметр - GUID диалога.

2. в DialogInfo новое поле - Owner. содержит GUID плагина, который вызвал диалог.

3. DN_GETDIALOGINFO убрана за ненадобностью.

--------------------------------------------------------------------------------
drkns 2011-02-06 16:24:19+02:00 - build 1829

1. Importing settings from Far2.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Подхватываем настройки от Far2.

--------------------------------------------------------------------------------
drkns 2011-02-06 14:05:06+02:00 - build 1828

1. xor and other according tricks are removed from copyright line.

2. The registry key is now "Far Manager".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Из копирайтной строки убран xor и все сопутствующие трюки.

2. Ключ в реестре теперь "Far Manager".

--------------------------------------------------------------------------------
drkns 2011-02-06 13:11:59+02:00 - build 1827

1. Plugins hotkeys in drives menu did not work.

2. Plugins in drives menu can be sorted by hotkeys (F9).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не работали хоткеи плагинов в меню дисков.

2. Плагины в меню дисков можно сортировать по хоткеям (F9).

--------------------------------------------------------------------------------
drkns 2011-02-06 12:11:59+02:00 - build 1826

1. Info.CmpName is removed.

2. OPIF_USESORTGROUPS -> OPIF_DISABLESORTGROUPS, OPIF_USEHIGHLIGHTING -> OPIF_DISABLEHIGHLIGHTING.

--------------------------------------------------------------------------------
t-rex 2011-02-05 23:19:46+02:00

1. FAR version is now 3.0

--------------------------------------------------------------------------------
drkns 2011-02-05 15:30:10+02:00 - build 1825

1. LONG_PTR -> INT_PTR.

2. OPIF_USEFILTER -> !OPIF_DISABLEFILTER.

3. FCTL_GETCMDLINESELECTEDTEXT is removed.

4. FarMenuItem and FMENU_USEEXT are removed, FarMenuItemEx is now FarMenuItem.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. LONG_PTR -> INT_PTR.

2. OPIF_USEFILTER -> !OPIF_DISABLEFILTER.

3. FCTL_GETCMDLINESELECTEDTEXT больше нет.

4. FarMenuItem и FMENU_USEEXT больше нет, FarMenuItemEx теперь FarMenuItem.

--------------------------------------------------------------------------------
drkns 2011-02-04 23:53:23+02:00 - build 1824

1. x64 debug build was malfunctional.

2. Warning.

--------------------------------------------------------------------------------
zg 2011-02-04 23:36:52+02:00 - build 1823

1. "Id" is added to WindowInfo. is acts as a handle for a dialog, and as Id for editor/viewer.

2. Modified&Current are removed from WindowInfo. Flags and WIF_MODIFIED&WIF_CURRENT are the replacement.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. в WindowInfo добавлено поле Id. для диалога - хэндл, для просмотра/редактора - Id.

2. в WindowInfo убраны поля Modified&Current. вместо них Flags и WIF_MODIFIED&WIF_CURRENT.

--------------------------------------------------------------------------------
zg 2011-02-04 21:50:22+02:00 - build 1822

1. correction of 1820 for NumEnter.

2. gcc warnings.

--------------------------------------------------------------------------------
drkns 2011-02-04 16:50:21+02:00 - build 1821

1. FAR_FIND_DATA is removed, the content is moved to PluginPanelItem. Also, ChangeTime is added there.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. FAR_FIND_DATA больше нет, содержимое переехало в PluginPanelItem. Туда же добавлено ChangeTime.

--------------------------------------------------------------------------------
svs 2011-02-04 17:43:54+03:00

1. Pay attention to the phrase "#ifdef FAR_USE_INTERNALS"!
   Is has got a pair: "#endif // END FAR_USE_INTERNALS"
   It is processed with a script!

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Внимательнее фразой "#ifdef FAR_USE_INTERNALS"!
   У нее пара "#endif // END FAR_USE_INTERNALS"
   Обработка скриптом делается!

--------------------------------------------------------------------------------
svs 2011-02-04 16:39:35+03:00 - build 1820

1. Solving troubles with keyboard.
   a) Ctrl. Ctrl. Ins (not on numpad) - we see Num0 instead of Ins
   b) TranslateKeyToVK function has become smarter - catching bugs :-)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Решаем траблы с клавиатурой.
   a) Ctrl. Ctrl. Ins (не на цифровой) - вместо Ins видим Num0
   b) функция TranslateKeyToVK стала уменее - ловим баги :-)

--------------------------------------------------------------------------------
yjh 2011-02-04 15:29:20+03:00 - build 1819

1. 64bit warnings

--------------------------------------------------------------------------------
drkns 2011-02-04 14:15:16+02:00 - build 1818

1. Alignment for x86 is now 8 bytes too.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Выравнивание для x86 теперь тоже 8 байт.

--------------------------------------------------------------------------------
drkns 2011-02-04 00:37:26+02:00 - build 1817

1. Bells and whistles: proper copyright character "©" instead of "(C)".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Свистелки и сопелки: используем правильный copyright "©" вместо "(С)".

--------------------------------------------------------------------------------
zg 2011-02-03 18:27:43+02:00 - build 1816

1. DN_KEY, DN_HOTKEY take a reference to INPUT_RECORD array as Param2.

2. DM_KEY takes a reference to INPUT_RECORD array as Param2.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. DN_KEY, DN_HOTKEY в качестве Param2 принимают ссылку на INPUT_RECORD.

2. DM_KEY в качестве Param2 принимают ссылку на массив INPUT_RECORD.

--------------------------------------------------------------------------------
zg 2011-02-03 16:05:25+02:00 - build 1815

1. FAR_PKF_FLAGS is removed.

2. PKF_PREPROCESS support is removed.

--------------------------------------------------------------------------------
zg 2011-02-03 15:12:44+02:00 - build 1814

1. INPUT_RECORD appears in ProcessKeyW.

2. FSF is appended with FarKeyToInputRecord.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. в ProcessKeyW приходит INPUT_RECORD.

2. в FSF добавлена FarKeyToInputRecord.

--------------------------------------------------------------------------------
drkns 2011-02-03 14:25:22+02:00 - build 1813

1. Corrections in setattr and fileowner.

2. macrocompuler.?pp -> macrocompiler.?pp

--------------------------------------------------------------------------------
zg 2011-02-03 13:05:54+02:00 - build 1812

1. PanelInfo is appended with StructSize, OwnerGuid, PluginHandle.
   For plugin panels, OwnerGuid equals to plugin's GUID, PluginHandle equals to value returned by the plugin from Open[File]Plugin.
   For real panels, OwnerGuid equals to FarGuid, PluginHandle equals to INVALID_HANDLE_VALUE.

2. PanelInfo: Plugin, Visible, Focus and ShortNames are removed. Instead, there are PFLAGS_PLUGIN, PFLAGS_VISIBLE, PFLAGS_FOCUS and PFLAGS_ALTERNATIVENAMES.

3. PanelInfo.Flags is now 64 bit wide.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. в PanelInfo добавлены StructSize, OwnerGuid, PluginHandle.
   для плагиновых панелей OwnerGuid равен гуиду плагина, PluginHandle тому, что плагин вернул из Open[File]Plugin.
   для реальных панелей OwnerGuid равен FarGuid, PluginHandle - INVALID_HANDLE_VALUE.

2. в PanelInfo убраны Plugin, Visible, Focus и ShortNames. вместо них PFLAGS_PLUGIN, PFLAGS_VISIBLE, PFLAGS_FOCUS и PFLAGS_ALTERNATIVENAMES.

3. в PanelInfo Flags теперь 64 битный.

--------------------------------------------------------------------------------
svs 2011-02-03 13:34:09+03:00 - build 1811

1. syntax.?pp are renamed to macrocompiler.?pp

2. Mantis#0001696: "len" function "crashes" FAR sometimes
   TVar::toString() returns nullptr

3. Mantis#0001697: Access to Custom column from panel.item function
   (from DAtaMan)
   Index 22 is added, is equals to Custom column value

4. Macro: "substr got rid of 3rd parameter default value of -1"
   TVar is appended with vtUnknown type (analogous to vtInteger, contains 0)

5. ActlKeyMacro structure has grown, according to #5
   (http://forum.farmanager.com/viewtopic.php?p=58432#p58432).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Файлы syntax.?pp переименованы в macrocompiler.?pp

2. Mantis#0001696: Функция len иногда "роняет" FAR
   TVar::toString() возвращает nullptr

3. Mantis#0001697: Доступ к Custom-колонке из функции panel.item
   (from DAtaMan)
   Добавлен индекс 22 = значение Custom-колонки

4. Macro: "substr избавлен от дефолтового значения третьего параметр, равного -1"
   В TVar добавлен тип vtUnknown (аналог vtInteger, содержит 0)

5. Структура ActlKeyMacro увеличена в размере, согласно п.5
   (http://forum.farmanager.com/viewtopic.php?p=58432#p58432).

--------------------------------------------------------------------------------
drkns 2011-02-03 10:07:07+02:00 - build 1810

1. Mantis#0001698: Error in copied files number calculation code.
   Also, total files number was calculated incorrectly at multiple files copying.

2. #error in headers.hpp is for release build only.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001698: Ошибка при подсчете количества файлов при копировании.
   Также общее количество файлов неправильно считалось при мультикопировании.

2. #error в headers.hpp только для релизной сборки.

--------------------------------------------------------------------------------
drkns 2011-02-03 09:12:32+02:00 - build 1809

1. Fix for vc-build + warnings.

--------------------------------------------------------------------------------
zg 2011-02-03 04:11:18+02:00 - build 1808

Global API changes have started. All Unicode plugins for previous builds are incompatible with new versions.
Until all planned API changes are done, headers.hpp contains #error.

1. Plugin's GUID is added to PluginInfo.

2. GUID is added to PluginInfo for each menu line. The GUID is passed to OpenPluginW and ConfigureW. It must be unique throughout the menu.

3. New parameter in PluginInfo: PluginTitle, the plugin's common name.

4. PluginInfo's Flags field is now 64 bit.

5. GetMinFarVersionW is removed, there is MinFarVersion in PluginInfo instead.

· · · · · · · · · · · · · · · · · · · · · · · · ·

Начаты глобальные изменения в API. Все уникодные плагины, собранные для предыдущих билдов несовместимы с новыми версиями.
До тех пор, пока все запланированные изменения в API не будут реализованы, в headers.hpp добавлена директива #error.

1. в PluginInfo добавлен GUID для плагина. GUID должен быть уникальным.

2. для каждой строки меню в PluginInfo добавлен GUID. этот GUID приходит в OpenPluginW и ConfigureW. должен быть уникален для одного плагина в пределах одного меню.

3. в PluginInfo добавлен параметр PluginTitle. общее название для плагина.

4. в PluginInfo Flags теперь 64 битный.

5. GetMinFarVersionW удалена, вместо неё - MinFarVersion в PluginInfo.

--------------------------------------------------------------------------------
drkns 2011-02-02 08:36:12+02:00 - build 1807

1. Correction of 1804.1.

--------------------------------------------------------------------------------
svs 2011-02-01 18:10:02+03:00 - build 1806

1. Mantis#0001418: VMenu reaction to RClick is same as in dialogs

2. A section is added to help files, containing lists of installed macros.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001418: Реакция VMenu на RClick аналогично диалогам

2. В файлы помощи добавлен раздел, содержащий списки установленных макросов.

--------------------------------------------------------------------------------
svs 2011-02-01 16:07:38+03:00 - build 1805

1. Mantis#0001690: FDLG_NODTITLE - do not change console caption to dialog caption
   (from samlyukov)
   Instead of suggested FDLG_NODTITLE, a FDLG_KEEPCONSOLETITLE dialog flag is added,
   which lets switch off the console header change to 0-th dialog element.

2. Macro: correction of build #1791

3. Mantis#0001684: FileList:GetCurName crash at network folder read
   (from Maximus)
   The cause is ProcessSynchroEvent call from CheckForEscSilent, while the plugin is calling ACTL_GETWINDOWINFO.
   FAR hasn't finished directory read, thus CurFile is greater than FileCount.
   Which leads to the crash.

4. Mantis#0001677: At macro launch, set "launching" key code with MCMD_POSTMACROSTRING
   Troubles with AKey...
   It needs testing!

5. Mantis#0001480: Expand substr() to let it return substring from the end of string
     if start  >= 0 then the result is a substring at the "start" position from the beginning of the string.
     if start  <  0 then the result is a substring at the "start" position from the end of the string.
     if length >  0 then the returned substring consists of maximum "length" characters from "start"
     if length <  0 then the returned substring starts from "start" and misses "length" characters from the end of the string.

     an empty string is returned:
       if length = 0
       if ... (clarify!)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001690: FDLG_NODTITLE - не менять заголовок консоли по заголовку диалога
   (from samlyukov)
   Вместо предлагаемого FDLG_NODTITLE добавлен флаг диалога FDLG_KEEPCONSOLETITLE,
   позволяющий отключить установку заголовка консоли по нулевому элементу диалога.
   2samlyukov: с тебя корректировка Писания :-)

2. Macro: коррекция build 1791

3. Mantis#0001684: Падение FileList:GetCurName во время чтения сетевой папки
   (from Maximus)
   Падает из-за того, что из CheckForEscSilent вызывается ProcessSynchroEvent.
   А плагин зовет ACTL_GETWINDOWINFO.
   Фар еще не закончил чтение каталога и CurFile больше чем FileCount.
   Что приводит к падению.

4. Mantis#0001677: При запуске макроса через MCMD_POSTMACROSTRING задавать код "запускающей" клавиши
   Траблы с AKey...
   Надо протестировать!

5. Mantis#0001480: Расширить substr() для того, чтоб она могла возвращать подстроку начиная с конца строки
     если start  >= 0, то вернётся подстрока, начиная со start-символа от начала строки.
     если start  <  0, то вернётся подстрока, начиная со start-символа от конца строки.
     если length >  0, то возвращаемая подстрока будет состоять максимум из length символов исходной строки начиная с start
     если length <  0, то в возвращаемой подстроке будет отсутствовать length символов от конца исходной строки, при том, что она будет начинаться с символа start.

     пустая строка возвращается:
       если length = 0
       если ... (уточнить!)

--------------------------------------------------------------------------------
drkns 2011-02-01 14:02:14+02:00 - build 1804

1. "In all non-removable drives"/"In all local drives" search mode also counts unmounted drives.

2. Mantis#0001693: Incorrect settings in File descriptions dialog

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Поиск в режиме "На всех несъёмных дисках"/"На всех локальных дисках" учитывает непримонтированные диски тоже.

2. Mantis#0001693: Incorrect settings in File descriptions dialog

--------------------------------------------------------------------------------
drkns 2011-01-29 12:31:15+02:00 - build 1803

1. Correction of alternative streams search in folders.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение поиска альтернативных потоков в папках.

--------------------------------------------------------------------------------
svs 2011-01-27 13:30:39+03:00 - build 1802

1. Macro: Correction of return code for callplugin
   callplugin function returns 0 if the called plugin does not exist or it has returned 0.
   In other cases, the function returns a non-zero value.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: Уточнение кода возврата для callplugin
   Функция callplugin возвращает 0, если вызываемого плагина нет или плагин вернул 0.
   В других случаях функция возвращает значение, отличное от 0.
   Функция callplugin

--------------------------------------------------------------------------------
svs 2011-01-25 18:35:03+03:00 - build 1801

1. Macro: Correction of return code for callplugin

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: Уточнение кода возврата для callplugin

--------------------------------------------------------------------------------
svs 2011-01-25 16:53:18+03:00 - build 1800

1. Mantis#0001673: Add OPEN_FROMMACROSTRING flag to existing OPEN_FROMMACRO
   Testing...

   <ACHTUNG>

     Note for OpenPluginW:
       If OPEN_FROMMACRO flag is set in OpenFrom parameter, then values in least significant word
       contain the ID of the current macro area defined in FARMACROAREA, not an identifier from
       OPENPLUGIN_OPENFROM enumeration.

   </ACHTUNG>

2. Mantis#0001677: Provide "launching" key code when running a macro with MCMD_POSTMACROSTRING
   ActlKeyMacro::Param::PlainText structure is appended with "AKey" field.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001673: Добавить флаг OPEN_FROMMACROSTRING к существующему OPEN_FROMMACRO
   Тестим...

   <АХТУНГ>

     Замечание для OpenPluginW:
       Если в параметре OpenFrom выставлен флаг OPEN_FROMMACRO, то значения в младшем слове
       содержат не идентификатор из перечисления OPENPLUGIN_OPENFROM, а номер текущей макрообласти,
       определенной в перечислении FARMACROAREA.

   </АХТУНГ>

2. Mantis#0001677: При запуске макроса через MCMD_POSTMACROSTRING задавать код "запускающей" клавиши
   В структуру ActlKeyMacro::Param::PlainText добавлено поле "AKey".

--------------------------------------------------------------------------------
drkns 2011-01-23 13:02:35+02:00 - build 1799

1. Error in FCTL_SETSORTMODE.

2. #0001670 once more.

--------------------------------------------------------------------------------
drkns 2011-01-22 18:31:13+02:00 - build 1798

1. #0001670 once more.

--------------------------------------------------------------------------------
drkns 2011-01-20 20:18:54+02:00 - build 1797

1. Correction of "read"/"modification" access rights separation in apiCreateFile.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение разделения прав доступа на "read"/"modification" в apiCreateFile.

--------------------------------------------------------------------------------
drkns 2011-01-20 00:52:42+02:00 - build 1796

1. Links copying/moving did not work in several cases.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В некоторых случаях не работало копирование/перенос ссылок.

--------------------------------------------------------------------------------
drkns 2011-01-19 21:21:30+02:00 - build 1795

1. Some more elevation-related paranoia:
     - pipe name = GUID;
     - PID check.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё немного паранойи в elevation:
     - имя канала = GUID;
     - проверка PID.

--------------------------------------------------------------------------------
drkns 2011-01-18 14:47:00+02:00 - build 1794

1. Ibid:
     - correction of 1793;
     - paranoia mode on: Named pipe is now available for privileged processes only.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Там же:
     - уточнение 1793;
     - paranoia mode on: именованный канал теперь доступен только для привилегированных процессов.

--------------------------------------------------------------------------------
drkns 2011-01-18 00:53:26+02:00 - build 1793

1. Changes in elevation, see Mantis#0001670.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Изменения в elevation по мотивам Mantis#0001670.

--------------------------------------------------------------------------------
drkns 2011-01-17 13:27:27+02:00 - build 1792

1. Mantis#0001667: can't paste hex numbers

--------------------------------------------------------------------------------
svs 2011-01-16 18:02:14+03:00 - build 1791

1. Mantis#0001660: XOR operation for boolean expressions
   "^^" conditional operation is added - XOR, exclusive OR

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001660: Оператор XOR для булевых выражений
   Добавлен условный оператор "^^" - XOR, исключающее ИЛИ

--------------------------------------------------------------------------------
drkns 2011-01-16 00:20:57+02:00 - build 1790

1. "[x] File processing (OpenFilePlugin)" switch in plugin manager settings is now 3-positional:
     [ ] - don't show menu;
     [?] - show menu everywhere but cases "enter an archive with Enter" and "search in archives";
     [x] - show menu everywhere.

2. GCC warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Переключатель "[x] File processing (OpenFilePlugin)" в настройках менеджера плагинов теперь 3-позиционный:
     [ ] - не показывать меню;
     [?] - показывать меню везде, кроме ситуаций "вход в архив по Enter" и "поиск в архивах";
     [x] - показывать меню везде.

2. GCC warnings.

--------------------------------------------------------------------------------
svs 2011-01-14 17:39:03+03:00 - build 1789

1. Mantis#0001631: addition in PluginsControl() - PCTL_FORCEDLOADPLUGIN
   (from: samlyukov)
   Addition to API: PCTL_FORCEDLOADPLUGIN loads plugin directly into memory instead of cache, which allows
                  custom plugins use at inter-plugin interaction.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001631: добавка в PluginsControl() - PCTL_FORCEDLOADPLUGIN
   (from: samlyukov)
   Добавка к АПИ: PCTL_FORCEDLOADPLUGIN - грузит плагин не в кэш, а сразу в память, что позволят
                  использовать сторонние плагины при межплагиновом взаимодействии.

--------------------------------------------------------------------------------
svs 2011-01-14 17:11:42+03:00 - build 1788

1. Macro: correction for iif regarding the check whether the argument is a string (see build 1786 #3)

2. Macro: correction for $if(string) regarding the check whether the operand is a string (see build 1786 #3)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: уточнение для iif в части проверки на строку (см. build 1786 п.3)

2. Macro: уточнение для $if(строка) в части проверки на строку (см. build 1786 п.3)

--------------------------------------------------------------------------------
drkns 2011-01-13 22:33:26+02:00 - build 1787

1. Launcher inofficial testing mode - "do not flash with panels when launching non-console applications".
   The mode is on if System\Executor\SilentExternal=dword:1.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Неофициальный тестовый режим запускателя - "не мерцаем панелями при запуске неконсольных приложений".
   Включается при System\Executor\SilentExternal=dword:1.

--------------------------------------------------------------------------------
svs 2011-01-13 11:43:12+03:00 - build 1786

1. Mantis#0001655: Incorrect error message at macro parsing

2. Mantis#0001642: Incorrect error position is returned at macro sequence check

3. Macro: changes in conditions checking behavior for $if/$while
   String in condition is checked for emptiness.

     %a="";
     $if (%a) is not executed $else is executed $end
     $if ("") is not executed $else is executed $end

     %a="anything, including 0";
     $if (%a) is executed $else is not executed $end
     $if ("anything") is executed $else is not executed $end
     $if ("0") is executed $else is not executed $end

   + slightly reduce the code size :-)

4. Macro: Scr.Scroll function introduced in build 1773 is renamed to Window.Scroll

5. Mantis#0001656: Debug version crashes in TruncStr

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001655: Неверное сообщение об ошибке при разборе макроса

2. Mantis#0001642: При проверке макропоследовательности возвращается неправильная позиция ошибки

3. Macro: изменения в поведении проверки условий для $if/$while
   Строка в условии проверяется на пусто и не пусто.

     %a="";
     $if (%a) не исполняем $else будет исполнено $end
     $if ("") не исполняем $else будет исполнено $end

     %a="все что угодно, в т.ч. просто 0";
     $if (%a) будет исполнено $else не исполняем $end
     $if ("все что угодно") будет исполнено $else не исполняем $end
     $if ("0") будет исполнено $else не исполняем $end

   + подсократим код :-)

4. Macro: введенная в build 1773 в строй функция Scr.Scroll переименована в Window.Scroll

5. Mantis#0001656: Отладочная версия валится в TruncStr

--------------------------------------------------------------------------------
drkns 2011-01-12 16:15:14+02:00 - build 1785

1. And even more.

--------------------------------------------------------------------------------
drkns 2011-01-12 13:14:15+02:00 - build 1784

1. Another pair of corrections in launcher.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё пара уточнений в запускателе.

--------------------------------------------------------------------------------
drkns 2011-01-11 21:49:13+02:00 - build 1783

1. Correction of 1782.2.

--------------------------------------------------------------------------------
drkns 2011-01-11 21:38:40+02:00 - build 1782

1. /rc key is removed - original console state is always restored.

2. Support for commands run with privileges escalation (aka "Run as administrator") in panels, command line and history. The hotkey is CtrlAltEnter.

3. Changes in launcher because of #2. Everything seems to work, nevertheless be careful.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ключ /rc удалён - исходное состояние консоли восстанавливается всегда.

2. Поддержка запуска команд с повышением привилегий (aka "Run as administrator") в панелях, комстроке и истории. Хоткей - CtrlAltEnter.

3. Перетрях запускателя, в связи с п. 2. Вроде бы ничего не отвалилось, но соблюдаем осторожность.

--------------------------------------------------------------------------------
drkns 2011-01-10 21:27:48+02:00 - build 1781

1. Displaying of number of processed files in copy dialog is back.

2. Common copy process indicator now works during moving within single volume too.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Вернём отображение количества обработанных файлов в диалог копирования.

2. Общий индикатор копирования теперь работает и при переносе в пределах одного диска.

--------------------------------------------------------------------------------
drkns 2011-01-10 14:20:32+02:00 - build 1780

1. Some optimization: if there is no plugins exporting OpenFilePlugin/Analyse, then no excessive actions (file open/read/close)
   is done at attempt to "enter" the file.

2. A couple of trivia.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Немного оптимизации: если отсутствуют плагины, экспортирующие OpenFilePlugin/Analyse, то и лишних действий (открытия/чтения/закрытия файла)
   при попытке "входа" в файл не выполняется.

2. Пара мелочей.

--------------------------------------------------------------------------------
drkns 2011-01-09 12:50:26+02:00 - build 1779

1. When an incorrect date was intentionally set, it could be replaced with a random value.

2. More correct 2-digit years interpretation.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При установке заведомо неправильной даты файла эта дата могла заменяться случайными значениями.

2. Более корректная интерпретация 2-значных годов.

--------------------------------------------------------------------------------
drkns 2011-01-08 22:48:50+02:00 - build 1778

1. Fixed: Launch attempt was ignored for files of type unknown to OS.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не игнорируются попытки запуска файлов, тип которых неизвестен ОС.

--------------------------------------------------------------------------------
drkns 2011-01-07 22:34:21+02:00 - build 1777

1. Mantis#0001644: Crash after "Cannot load language data".

--------------------------------------------------------------------------------
drkns 2011-01-05 19:21:38+02:00 - build 1776

1. Correction of 1775.

--------------------------------------------------------------------------------
drkns 2011-01-05 10:50:10+02:00 - build 1775

1. Mantis#0001640: Strings must be backed up between DialogInit and DialogFree calls
   Now FAR makes the inner copies of FarDialogItem.History and FarDialogItem.Mask, there's no need to store them in a plugin.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001640: Необходимость сохранения строк между вызовами DialogInit и DialogFree
   Теперь Far копирует себе FarDialogItem.History и FarDialogItem.Mask, хранить их в плагине постоянно больше не нужно.

--------------------------------------------------------------------------------
drkns 2011-01-02 12:57:22+02:00 - build 1774

1. Correction of yyyy-MM-dd formatted dates output.

2. interf.cpp is cleaned a little bit.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение вывода дат в формате yyyy-MM-dd.

2. Немного почищен interf.cpp.

--------------------------------------------------------------------------------
svs 2010-12-29 16:09:28+03:00 - build 1773

1. Mantis#0001538: Panel refreshing at some macro commands execution

2. Macro: a function is added N=Scr.Scroll(Lines[,Axis])
      Lines - positive number - forward (down/right), negative - back (up/left).
      Axis - optional parameter, 0 - vertical (default), 1 - horizontal.

      The function returns 0 on scrolling failure (for example, Lines was equal to 0), else 1

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001538: Обновление панели при выполнении некоторых макрокоманд

2. Macro: добавлена функция N=Scr.Scroll(Lines[,Axis])
      Lines - Положительное число - вперёд (вниз/вправо), отрицательное - назад (вверх/влево).
      Axis - Необязательный параметр, 0 - вертикаль (по умолчанию), 1 - горизонталь.

      Функция возвращает 0 - перемотка не состоялась (например, Lines был равен 0), иначе 1

--------------------------------------------------------------------------------
drkns 2010-12-29 11:30:42+02:00 - build 1772

1. In 1741, SharePoint shares support was broken.
   It seems that Microsoft ignores its own API.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В 1741 погнулась работа с шарами SharePoint.
   Похоже, в Microsoft кладут на собственное API.

--------------------------------------------------------------------------------
drkns 2010-12-28 12:55:27+02:00 - build 1771

1. 1763 is continued - years are displayed without leading zero.

2. Changes in DIF_MASKEDIT: Del/BS do not shift the remaining text.

3. At the time of PrepareDiskPath() execution, Elevation is disabled.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 1763 - годы отображаются без ведущего нуля.

2. Изменения в DIF_MASKEDIT: Del/BS не сдвигают оставшийся текст.

3. Во время работы PrepareDiskPath() Elevation отключается.

--------------------------------------------------------------------------------
svs 2010-12-28 09:49:18+03:00 - build 1770

1. Correction of build 1769

2. Mantis#0001594: FAR being launched in editor or viewer mode loads macros for UserMenu
   The user menu is temporarily disabled in these modes...

3. Mantis#0001614: Line-by-line scrolling in "far.exe /w" mode
   (from DAtaMan)
   Console buffer line-by-line scrolling with Ctrl-Alt-Up/Down keys

   <ACHTUNG>

     After "scroll" macrofunction appear (http://forum.farmanager.com/viewtopic.php?f=15&t=5409),
     any keys processing for screen buffer scrolling will be removed from manager.

   </ACHTUNG>

4. "&Hidden" and "C&hange time:" hotkeys duplicates in SetAttr dialog.
   "Change time:" is bound to "g".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Коррекция build 1769

2. Mantis#0001594: FAR запущеный как редактор или вьювер загружает макросы для UserMenu
   Временно отключим юзерменю в редакторовьювере...

3. Mantis#0001614: Построчный скроллинг в режиме far.exe /w
   (from DAtaMan)
   Построчное скроллирование консольного буфера клавишами Ctrl-Alt-Up/Down

   <АХТУНГ>

     После появления макро-функции scroll (http://forum.farmanager.com/viewtopic.php?f=15&t=5409)
     из менеджера будет удалена всякая обработка клавиш для скроллинга экранного буфера.

   </АХТУНГ>

4. В диалоге SetAttr дублируются хоткеии для "&Hidden" и "C&hange time:".
   Для "Change time:" хоткей будет "g".

--------------------------------------------------------------------------------
svs 2010-12-27 12:45:54+03:00 - build 1769

1. Mantis#0001634: Sometimes panel.item function returns an empty description for a file
   (from DAtaMan)
   panel.item(0,0,11) returns an empty value if descriptions mode is off or no CtrlZ was invoked

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001634: Иногда функция panel.item возвращает для файла пустое описание
   (from DAtaMan)
   panel.item(0,0,11) возвращает пустое значение, если не включён режим с отображением описаний или не было вызова CtrlZ

--------------------------------------------------------------------------------
drkns 2010-12-24 10:37:23+02:00 - build 1768

1. 1764 is continued - write timestamp is also taken from the source.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 1764 - время записи тоже берём у источника.

--------------------------------------------------------------------------------
zg 2010-12-20 13:46:31+02:00 - build 1767

1. Forum:
   type `macro:post panel.setpath(1, "C:/")' in command line (to change passive panel path)
   and press F5 Enter on any file or folder in active panel.
   This results in "Can not find the file" error.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. с форума:
   набираем в командной строке macro:post panel.setpath(1, "C:/") (меняем путь в пассивной панели)
   и нажимаем F5 Enter на любом файле или папке в активной панели.
   Получаем ошибку "Can not find the file".

--------------------------------------------------------------------------------
drkns 2010-12-19 23:49:18+02:00 - build 1766

1. Correction of 1763.

--------------------------------------------------------------------------------
svs 2010-12-19 22:52:53+03:00 - build 1765

1. Mantis#0001623: A new command in FARMACROCOMMAND - MCMD_GETAREA - Get current macro area
   (from Yegor)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001623: Новая команда в FARMACROCOMMAND - MCMD_GETAREA - Получить текущую макрообласть
   (from Yegor)

--------------------------------------------------------------------------------
drkns 2010-12-18 20:59:54+02:00 - build 1764

1. When "[x] Copy contents of symbolic links" is on, source size is displayed for symlinks in overwrite confirmation dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При "[x] Copy contents of symbolic links" в диалоге подтверждения перезаписи для симлинков отображается размер источника.

--------------------------------------------------------------------------------
drkns 2010-12-18 18:20:53+02:00 - build 1763

1. Correction of 1762.1 for "Year-Month-Day"-formatted dates.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 1762.1 для дат в формате "Year-Month-Day".

--------------------------------------------------------------------------------
drkns 2010-12-17 18:58:27+02:00 - build 1762

1. There were rumors about incorrect displaying of 5-digit years in the file attributes dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Поступили слухи, что в диалоге атрибутов некорректно отображались пятизначные года.

--------------------------------------------------------------------------------
drkns 2010-12-15 22:05:28+02:00 - build 1761

1. Dialogs are not centered on console resize.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Диалоги больше не центрируются при изменении размера консоли.

--------------------------------------------------------------------------------
drkns 2010-12-14 16:13:10+02:00 - build 1760

1. Correction of 1757.4.

--------------------------------------------------------------------------------
drkns 2010-12-13 18:12:58+02:00 - build 1759

1. Rollback of 1756.

--------------------------------------------------------------------------------
drkns 2010-12-12 20:01:39+02:00 - build 1758

1. Correction of 1757.2.

--------------------------------------------------------------------------------
drkns 2010-12-12 19:43:37+02:00 - build 1757

1. Mantis#0001618: Numeric sort in other columns too.

2. "Case sensitivity" of sorting is now the property of the panel itself, not its mode (similar to numeric sort).
   The appropriate option moved from panel mode configuration dialog to "Sort by" menu.

3. PFLAGS_CASESENSITIVESORT and FCTL_SETCASESENSITIVESORT are added to API.

4. Checking of malloc()/free(), new/delete, new[]/delete[] pairs is added to debug build for catching bugs like "int* a=new int[10]; delete a;"

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001618: Числовая сортировка и по остальным колонкам.

2. "Регистрозависимость" сортировки - теперь не свойство режима панели, а свойство самой панели (по аналогии с числовой сортировкой).
   Соответствующая опция переехала из диалога настройки режима панели в меню критерия сортировки.

3. В API добавлены PFLAGS_CASESENSITIVESORT и FCTL_SETCASESENSITIVESORT.

4. В debug-сборку добавлена проверка соответствия пар malloc()/free(), new/delete, new[]/delete[] для выявления ошибок типа "int* a=new int[10]; delete a;"

--------------------------------------------------------------------------------
drkns 2010-12-12 14:30:26+02:00 - build 1756

1. Some mouse events were not passed to the editor.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В редактор не приходили некоторые мышиные события.

--------------------------------------------------------------------------------
chupakabra 2010-12-11 16:02:00+02:00 - build 1755

1. Too much memory allocated in Editor::Block2Text (up to the size of the whole file).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В Editor::Block2Text выделялся слишком большой блок памяти (вплоть до полного размера файла).

--------------------------------------------------------------------------------
drkns 2010-12-10 22:36:15+02:00 - build 1754

1. Correction of FindFirstStream inner implementation.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение внутренней реализации FindFirstStream.

--------------------------------------------------------------------------------
drkns 2010-12-10 20:02:21+02:00 - build 1753

1. "[x] Automatic update of environment variables" -> "[ ] Automatic update of environment variables".

2. Correction of console::Write().

--------------------------------------------------------------------------------
drkns 2010-12-10 10:51:32+02:00 - build 1752

1. "[x] Automatic update of environment variables".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Опция "[x] Automatic update of environment variables".

--------------------------------------------------------------------------------
t-rex 2010-12-10 00:06:20+02:00 - build 1751

1. Ctrl-Ins does not copy files to clipboard anymore, now this is bound to Ctrl-C.
   Ctrl-C - Copy marked files to clipboard (not taking command line state into account).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ctrl-Ins больше не копирует файлы в клипбоард, теперь этим занимается Ctrl-C.
   Ctrl-C - Поместить помеченные файлы в Буфер Обмена (без учёта состояния командной строки).

--------------------------------------------------------------------------------
drkns 2010-12-08 23:50:39+02:00 - build 1750

1. Attributes dialog's option "[ ] Process subfolder" is hidden for files.

2. "[ Panel ]" button blocking is broken in search results if appropriate plugins are missing.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В диалоге атрибутов опция "[ ] Обрабатывать вложенные папки" для файлов не отображается.

2. Сломалось блокирование кнопки "[ Панель ]" в результатах поиска при отсутствии соответствующих плагинов.

--------------------------------------------------------------------------------
drkns 2010-12-08 19:07:03+02:00 - build 1749

1. Forum: "Show selected first" item in sort mode choose menu is actually "Show directories first", and the last item does not work at all, even the checkbox is not set.

2. Forum: Bug at "C:\Documents and Setting\All Users" folder open

3. Forum: Far crashes if Ctrl+Shift+End is pressed in input field of fixed size (for example, Options - Editor settings - Tab size)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: В меню выбора режимов сортировки пункт Show selected first — это на самом деле Show directories first, а последний вообще не работает, даже галка не ставится.

2. С форума: Глюк при переходе в "C:\Documents and Setting\All Users"

3. С форума: Фар падает при нажатии Ctrl+Shift+End в поле ввода фиксированного размера (например, Options - Editor settings - Tab size)

--------------------------------------------------------------------------------
drkns 2010-12-07 18:09:12+02:00 - build 1748

1. Handle leak in the previous build.

--------------------------------------------------------------------------------
drkns 2010-12-07 12:41:41+02:00 - build 1747

1. Mantis#0001615: A possibility to open path in panels that doesn't exist on volume or in network

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001615: Возможность зайти в панелях в несуществующий на диске или в сети путь

--------------------------------------------------------------------------------
drkns 2010-12-07 11:29:41+02:00 - build 1746

1. Correction of 1741.

--------------------------------------------------------------------------------
drkns 2010-12-07 08:45:22+02:00 - build 1745

1. Another couple of trivia.

--------------------------------------------------------------------------------
drkns 2010-12-07 01:02:52+02:00 - build 1744

1. Mantis#0001408: Paste into autocompleted field leaves the text "grayed" sometimes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001408: Paste в автодополняемое поле иногда оставляет текст "серым".

--------------------------------------------------------------------------------
drkns 2010-12-07 00:04:33+02:00 - build 1743

1. Mantis#0001612: Possibility to set current time in file attributes change dialog

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001612: Установка текущего времени в диалоге изменения файловых атрибутов

--------------------------------------------------------------------------------
drkns 2010-12-06 20:09:35+02:00 - build 1742

1. When Far 1.x local menu files are read, former divider formatting is taken into account.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При чтении файлов местных меню от Far 1.x учитывается, что раньше разделитель задавался иначе.

--------------------------------------------------------------------------------
drkns 2010-12-06 19:42:33+02:00 - build 1741

1. "Change Time" support.
   Unlike "Last Write Time", it is updated at any manipulations with the file, not only at file contents change.

2. Correction of hlf/lng - "Modification time" -> "Last write time".

3. Simple global protection from memory shortage: at unsuccessful allocation, instead of crash, execution is stopped with repeat or resume capability.

4. gcc warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Поддержка четвёртого времени файла - "Change Time", время изменения.
   Отличие от Last Write Time в том, что Change Time обновляется при любых манипуляциях с файлом, а не только при изменении содержимого.

2. Коррекция hlf/lng - "дата/время модификации" -> "дата/время последней записи".

3. Простая глобальная защита от нехваток памяти: при неудачной аллокации вместо падения выполнение будет приостановлено с возможностью повтора или продолжения.

4. gcc warnings.

--------------------------------------------------------------------------------
drkns 2010-12-04 11:11:27+02:00 - build 1740

1. From Tim Sobolev: correction of editor window caption.

2. Correction of 1738.2.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. From Tim Sobolev: коррекция заголовка окна редактора.

2. Уточнение 1738.2.

--------------------------------------------------------------------------------
svs 2010-12-03 17:01:42+03:00 - build 1739

1. From Alexey Samlyukov: far.exe /w mode is appended with keys: Ctrl-Alt-Home/End scroll the window to the beginning/end of the buffer

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. From Alexey Samlyukov: для режима far.exe /w добавлены клавиши: Ctrl-Alt-Home/End листают окно в начало/конец буфера

--------------------------------------------------------------------------------
drkns 2010-12-02 20:06:35+02:00 - build 1738

1. Mantis#0001608: A minor bug at codepage duplicates search

2. Types correction.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis№0001608: Мелкий баг при поиске дубликатов кодовых страниц

2. Коррекция типов.

--------------------------------------------------------------------------------
drkns 2010-12-01 16:08:46+02:00 - build 1737

1. Correction of 1729.1.

--------------------------------------------------------------------------------
drkns 2010-11-26 23:25:10+02:00 - build 1736

1. Incorrect processing of ';'-separated masks list containing "%pathext%".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Неправильно обрабатывался список масок, разделенный ';' и содержащий "%pathext%".

--------------------------------------------------------------------------------
drkns 2010-11-26 20:44:41+02:00 - build 1735

1. Mantis#0001591: Addition to FileFilterControl: Custom filters

2. Hiding useless elements in link creation dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001591: Добавка в FileFilterControl: Custom-фильтры

2. Не показываем ненужные элементы в диалоге создания ссылки.

--------------------------------------------------------------------------------
yjh 2010-11-26 11:00:23+03:00 - build 1734

1. Fixed error in 1732

--------------------------------------------------------------------------------
drkns 2010-11-25 21:15:37+02:00 - build 1733

1. From Alexey Samlyukov: PFLAGS_USECRC32/OPIF_USECRC32 flags define explicitly that the plugin fills in its panel elements' CRC32 field.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. From Alexey Samlyukov: флаги PFLAGS_USECRC32/OPIF_USECRC32, явно определяющие, что у элементов плагиновой панели заполнено поле CRC32.

--------------------------------------------------------------------------------
drkns 2010-11-25 15:07:10+02:00 - build 1732

1. Correction of 1730.1 - In Windows 7 and higher, there is a single "App Paths".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 1730.1 - В Windows 7 и выше "App Paths" один.

--------------------------------------------------------------------------------
drkns 2010-11-25 13:52:52+02:00 - build 1731

1. "[x] use additional privileges" option didn't work

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не работала опция "[x] use additional privileges"

--------------------------------------------------------------------------------
yjh 2010-11-25 14:50:16+03:00 - build 1730

1. In win64, 'App Paths' registry key must be accessed in "two versions", for
   32- and 64-bit processes (they differ :)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В win64 'App Paths' в регистри надо просматривать в "двух версиях" - для
   32х и 64х битовых процессов (оне разные :)

--------------------------------------------------------------------------------
drkns 2010-11-25 10:30:48+02:00 - build 1729

1. At rename/move, "[ ] Process multiple destinations" option is off and unused.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При переименовании/переносе опция "[ ] Обрабатывать несколько имён файлов" отключена и не используется.

--------------------------------------------------------------------------------
yjh 2010-11-25 08:55:14+03:00 - build 1728

1. ulink's def file was committed in its "debug" form

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. def-файл ulink'а был закоммичен в "отладочном" виде

--------------------------------------------------------------------------------
yjh 2010-11-25 04:42:51+03:00 - build 1727

1. vc10.asm is redesigned to take a little less space :).

2. At the case of linking with ulink, vc10 is not used - instead,
   these 2 routines are done in "delayload" mode and "substituted" only in
   situation when they have not imported.
     The difference in behavior has 3 causes: this variant is more correct,
   ulink forbids "direct usage" of names' __imp_ prefixes (this is a rare
   exotics, although such mistakes do happen), and finally, ms-link doesn't
   support partial delay load.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Редизайн vc10.asm так, что он занимает чуть меньше места :).

2. В случае компоновки ulink'ом не используем vc10 - вместо этого делаем
   эти 2 процедуры в режиме delayload и "подменяем" их только в ситуации
   когда они не проимпортировались.
     Такой разнице в поведении 3 причины: этот вариант более корректный,
   ulink запрещает "прямое использование" __imp_ префиксов у имён (это
   редкостная экзотика, а вот ошибки такие случаются), ну и, наконец,
   ms-link не поддерживает partial delyay load.

--------------------------------------------------------------------------------
drkns 2010-11-23 20:39:55+02:00 - build 1726

1. From Alexey Samlyukov: malfunctional FreePluginDirList.

2. From Alexey Samlyukov: GetPluginDirList can process the passive panel.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. From Alexey Samlyukov: не работал FreePluginDirList.

2. From Alexey Samlyukov: GetPluginDirList умеет работать с пассивной панелью.

--------------------------------------------------------------------------------
drkns 2010-11-22 22:20:00+02:00 - build 1725

1. Minimal system requirements for VC2010 build are now 2k SP4 + KB816542, instead of XP SP3.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Для VC2010-билда минимальные системные требования теперь не XP SP3, а 2k SP4 + KB816542.

--------------------------------------------------------------------------------
drkns 2010-11-22 14:27:37+02:00 - build 1724

1. Mantis#0001600: No entry in 'C:\Users\<User>\Application Data'

2. A couple of trivia.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001600: Не входит в 'C:\Users\<User>\Application Data'

2. Пара мелочей.

--------------------------------------------------------------------------------
drkns 2010-11-17 00:12:50+02:00 - build 1723

1. Typo in 1722.

--------------------------------------------------------------------------------
drkns 2010-11-16 19:14:24+02:00 - build 1722

1. file to its SFN rename support is removed from copier - its implementation leads to bugs at ordinary renaming.

2. Attempt of renaming to the same name is now considered successful and doesn't cause "Cannot copy the file onto itself" error.

3. Correct character case of SFN is shown in panels.

4. At users' request - FarRecursiveSearch does not search on SFN.

5. Optimization of several api* wrappers.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Убираем из копира поддержку переименования файла в своё SFN - реализация приводит к глюкам при обычном переименовании.

2. Попытка переименования файла в то же самое имя теперь автоматически считается удачной и не приводит к ошибке "Нельзя копировать файл в самого себя".

3. SFN в панелях отображаются в правильном регистре.

4. По просьбам телезрителей - FarRecursiveSearch не ищет по SFN.

5. Оптимизация некоторых api*-обёрток.

--------------------------------------------------------------------------------
drkns 2010-11-15 13:47:00+02:00 - build 1721

1. Forum: "Problem when writing a macro".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: "Проблема при записи макроса".

--------------------------------------------------------------------------------
t-rex 2010-11-12 21:32:19+02:00 - build 1720

1. Mantis#1527: Selected items in input history do not stay at the top of drop-down list
   and can get removed when outdated.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1527: В истории ввода помеченные пункты не остаются вверху выпадающего списка и могут быть из него удалены как устаревшие.

--------------------------------------------------------------------------------
drkns 2010-11-12 19:39:44+02:00 - build 1719

1. Correction of 1718.

--------------------------------------------------------------------------------
drkns 2010-11-12 13:47:00+02:00 - build 1718

1. Mantis#0001587: far:goto "c:\long path" was broken

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001587: Поломался переход far:goto "c:\long path"

--------------------------------------------------------------------------------
drkns 2010-11-12 07:53:51+02:00 - build 1717

1. Correction of 1715.3.

--------------------------------------------------------------------------------
drkns 2010-11-11 11:11:11+02:00 - build 1716

1. Sequel of 1715.3. w32api minimal version for gcc is now 3.15.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 1715.3. Для gcc минимальная версия w32api теперь 3.15.

--------------------------------------------------------------------------------
drkns 2010-11-10 20:50:52+02:00 - build 1715

1. Correction of text in links creation dialog

2. Mantis#0000329: Change default colors for Unchanged text
   Also, selection in command line is now cyan, instead of gray, for uniformity.

3. Removed junk from headers.hpp.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение надписей в диалоге создания ссылок

2. Mantis#0000329: Изменить цвета по умолчанию для Неизмененного текста
   Ну и для единообразия в комстроке выделение теперь cyan, a не gray.

3. Выкинут мусор из headers.hpp.

--------------------------------------------------------------------------------
ts 2010-11-09 22:43:29+02:00 - build 1714

1. Macro: BM.back() is now given functionality implemented earlier with BM.prev()
   BM.prev() only returns to previous bookmark, as expected.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: BM.back() теперь выполняет функции, ранее принадлежавшие BM.prev()
   BM.prev() выполняет только ожидаемую функцию возврата на предшествующую закладку

--------------------------------------------------------------------------------
svs 2010-11-08 18:07:58+03:00 - build 1713

1. Macro: BM.first() and BM.last() are removed because of functional redundancy...

   <ACHTUNG>

     BM.first must be replaced with BM.goto(1)
     BM.last  must be replaced with BM.goto(BM.stat(0))

   </ACHTUNG>

2. Macro: fix of Menu.XXX malfunction in dialogs with lists.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: Удалены BM.first() и BM.last(). Вносили избыточность функционала...

   <АХТУНГ>

     вместо BM.first использовать BM.goto(1)
     вместо BM.last  использовать BM.goto(BM.stat(0))

   </АХТУНГ>

2. Macro: уточнение работы (точнее отсутствия онной) Menu.XXX в диалогах со списками.

--------------------------------------------------------------------------------
drkns 2010-11-08 16:10:32+02:00 - build 1712

1. Circumvention of old Windows' stupid bug:
   ExpandEnvironmentStringsW(L"%__CD__%", NULL, 0); construction caused AV in ntdll:RtlExpandEnvironmentStrings_U.
   In addition, some optimization.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Обход идиотского бага древних Windows:
   Конструкция ExpandEnvironmentStringsW(L"%__CD__%", NULL, 0); вызывала AV в ntdll:RtlExpandEnvironmentStrings_U.
   Плюс немного оптимизации.

--------------------------------------------------------------------------------
ts 2010-11-06 20:45:04+02:00 - build 1711

1. Correction of 1710.

--------------------------------------------------------------------------------
svs 2010-11-05 16:50:49+03:00 - build 1710

1. Macro: addition to bookmarks (from: Tim Sobolev)
    N=BM.first() - go to first bookmark
    N=BM.last() - go to last bookmark
    N=BM.goto([pos]) - go to bookmark with index given (pos=0 or unspecified --> the current one)
    N=BM.push() - store current position as a bookmark at the top of bookmarks stack
    N=BM.pop() - restore current position from a bookmark at the top of the stack and remove the bookmark

  Addition to BM.stat(I) - for I=1 the index of the current bookmark is returned (-1 if there is no bookmarks)

  Note for BM.add() and BM.prev()

  If the sequence of BM.add() and BM.prev() has been called, the following actions take part:

  a) If editor's current position matches the position saved with BM.add(),
  then go to bookmark previously created with BM.add().
  b) If editor's current position does not match the position saved with BM.add(),
  then save the current position and go to bookmark created with BM.add().

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: добавка к букмаркам (from: Tim Sobolev)
    N=BM.first() - переход на первую закладку
    N=BM.last() - переход на последнюю закладку
    N=BM.goto([pos]) - переход на закладку с указанным индексом (pos=0 или не указан --> текущую)
    N=BM.push() - сохранить текущую позицию в виде закладки в конце стека
    N=BM.pop() - восстановить текущую позицию из закладки в конце стека и удалить закладку

  Добавка к BM.stat(I) - для I=1 возвращается индекс текущей закладки (0 если закладок нет)

  Примечание для BM.add() и BM.prev()

  Если была выполнена операция BM.add() и после неё BM.prev(), произойдёт
  следующее:

  а) Если текущая позиция в редакторе соответствует позиции, сохранённой в
  BM.add(), то произойдёт переход на предшествующую, созданной BM.add(),
  закладку.
  б) Если текущая позиция в редакторе не соответствует позиции, сохранённой в
  BM.add(), то текущая позиция будет сохранена и произойдёт переход на закладку,
  созданную BM.add().

--------------------------------------------------------------------------------
drkns 2010-11-03 10:15:20+02:00 - build 1709

1. Correction of 1708.

--------------------------------------------------------------------------------
drkns 2010-10-31 22:24:07+02:00 - build 1708

1. Experimental:
   - completion can append paths in the middle of the command line ("cd c:\wi").

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Экспериментально:
   - дополнение умеет работать не с начала строки ("cd c:\wi" и т.п.).

--------------------------------------------------------------------------------
drkns 2010-10-30 20:37:40+02:00 - build 1707

1. Copying of symlinks with "read only" attribute did not work.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не работало копирование симлинков с атрибутом "только для чтения".

--------------------------------------------------------------------------------
drkns 2010-10-28 16:48:32+02:00 - build 1706

1. Mantis#0001559: "Cannot find the file" error on folder change from folders history

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001559: Ошибка Cannot find the file после смены папки из истории папок

--------------------------------------------------------------------------------
svs 2010-10-27 13:23:28+03:00 - build 1705

1. Macro: correction of Selected, Bof, Eof, Empty behavior.
   Now they meet the specification.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: коррекция поведения Selected, Bof, Eof, Empty.
   Теперь работают, как заявлено в Писании.

--------------------------------------------------------------------------------
zg 2010-10-27 12:47:55+02:00 - build 1704

1. gcc build.

--------------------------------------------------------------------------------
svs 2010-10-26 12:25:02+03:00 - build 1703

1. The first iteration of Mantis#0000466. It is wrapped temporarily in PROCPLUGINMACROFUNC (unavailable in a regular build)

2. Code exchange between macro.cpp and syntax.cpp
   An inner entity is introduced: "registration of a function".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Первое приближение Mantis#0000466. Временно обернуто в PROCPLUGINMACROFUNC (в обычной сборке недоступно)

2. Перетасовка коде между macro.cpp и syntax.cpp
   Введено (внутренне) понятие "регистрация функции".

--------------------------------------------------------------------------------
drkns 2010-10-26 00:45:47+02:00 - build 1702

1. At users' wish, the rollback is rolled back.
   Privileges option is restored and it is off by default.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. По просьбам телезрителей: откат отката.
   Вернём назад опцию про привилегии, + теперь она по умолчанию выключена.

--------------------------------------------------------------------------------
drkns 2010-10-25 21:39:28+02:00 - build 1701

1. Rollback of 1699.

--------------------------------------------------------------------------------
drkns 2010-10-25 11:56:14+02:00 - build 1700

1. VCTL_GETINFO returned incorrect value of ViewerInfo::WindowSizeY.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При VCTL_GETINFO возвращалось некорректное значение ViewerInfo::WindowSizeY.

--------------------------------------------------------------------------------
drkns 2010-10-24 20:35:03+02:00 - build 1699

1. A separate option for controlling of extra privileges use.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Отдельная опция для управления использованием дополнительных привилегий.

--------------------------------------------------------------------------------
drkns 2010-10-23 00:21:14+02:00 - build 1698

1. At the following .BAT file launch:

@echo off
cls
echo 1
echo 2
echo 3

the first two items were not displayed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При запуске bat-файла вида:

@echo off
cls
echo 1
echo 2
echo 3

- не отображались первые два пункта.

--------------------------------------------------------------------------------
drkns 2010-10-21 11:57:27+02:00 - build 1697

1. Symlink wipe led to damaged target file.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Вайп симлинка портил файл, на который он ссылался.

--------------------------------------------------------------------------------
drkns 2010-10-20 11:42:42+02:00 - build 1696

1. Privileges elevation dialogs enabling/disabling is implemented in UI.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Включение/выключение запросов повышения прав вынесено в интерфейс.

--------------------------------------------------------------------------------
drkns 2010-10-20 10:45:45+02:00 - build 1695

1. Mantis#0001557: Incorrect displaying of symlink attributes

2. Incorrect displaying of attributes dialog when the element is a hardlink and a symbolic link at the same time.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001557: Неверный показ атрибутов symlink

2. Некорректное отображение диалога атрибутов для случая, когда элемент одновременно является и жесткой и символической ссылкой.

--------------------------------------------------------------------------------
drkns 2010-10-15 13:23:23+02:00 - build 1694

1. PluginInfo::DiskMenuNumbers -> PluginInfo::Reserved0.

--------------------------------------------------------------------------------
drkns 2010-10-15 09:22:33+02:00 - build 1693

1. Correction of 1692.

--------------------------------------------------------------------------------
drkns 2010-10-14 20:01:32+02:00 - build 1692

1. Experimental:
   - plugin hotkeys in drive selection menu are now set by user with F4, not by plugins.
   - hotkey can be a digit or any other Unicode character.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Экспериментально:
   - горячие клавиши для плагинов в меню выбора диска теперь задаются не плагинами, а пользователем по F4.
   - в качестве горячей клавиши может выступать не только цифра, но и любой другой уникодный символ.

--------------------------------------------------------------------------------
drkns 2010-10-06 19:59:59+02:00

1. ASLR.

--------------------------------------------------------------------------------
drkns 2010-10-03 14:28:31+02:00 - build 1691

1. Correction of 1683.

--------------------------------------------------------------------------------
drkns 2010-10-03 00:28:13+02:00 - build 1690

1. Error in processing of SetFilePointerEx "elevation-aware" version.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ошибка в обработке elevation-варианта SetFilePointerEx.

--------------------------------------------------------------------------------
drkns 2010-10-02 23:36:23+02:00 - build 1689

1. Mantis#0001525: Copy folders with symbolic links (to other folders) inside

--------------------------------------------------------------------------------
t-rex 2010-10-01 20:30:56+02:00 - build 1688

1. Mantis#1522: Excessive slash in panel caption.
   The bug has slightly another nature. Of course, we can process (delete) these slashes but this is pointless,
   and the bug is exactly about some of them have been deleted.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1522: Лишний слеш в заголовке панели.
   Баг тут немного не в том. Мы конечно можем обрабатывать (удалять) эти слеши но этим как бы бессмысленно заниматься,
   и как раз то что часть из них удалилась это и есть баг.

--------------------------------------------------------------------------------
t-rex 2010-10-01 08:21:10+02:00 - build 1687

1. Mantis#1520: crash on cd %tmp%
   Heap corruption in PrepareDiskPath(). Ibid, slight optimization is done.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1520: crash on cd %tmp%
   Коррупция хипа в PrepareDiskPath(). За одно сделал мелкие оптимизации там же.

--------------------------------------------------------------------------------
t-rex 2010-10-01 04:17:16+02:00 - build 1686

1. In case of "preloaded" plugin requiring newer FAR (GetMinFarVersion), a loading error message was shown twice.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В случае "preloaded" плагина который требует более новый фар (GetMinFarVersion) сообщение об ошибке загрузки показывалось два раза.

--------------------------------------------------------------------------------
chupakabra 2010-09-30 21:33:00+02:00 - build 1685

1. Fix for 1684

--------------------------------------------------------------------------------
chupakabra 2010-09-30 21:16:00+02:00 - build 1684

1. Mantis#0001514: Incorrect ConvertPath(CPM_REAL, ...) functionality on DFS
   Simple processing of network paths is added to internalNtQueryGetFinalPathNameByHandle().

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001514: Некорректная работа ConvertPath(CPM_REAL, ...) на DFS
   В internalNtQueryGetFinalPathNameByHandle() добавлена простая обработка сетевых путей.

--------------------------------------------------------------------------------
drkns 2010-09-28 13:47:00+02:00 - build 1683

1. Editor hotkey F4 which performs "exit", similar to viewer.

2. A couple of things regarding to elevation.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Хоткей для редактора F4 == "выход", по аналогии с вьювером.

2. Пара мелочей в elevation.

--------------------------------------------------------------------------------
svs 2010-09-27 16:59:30+03:00 - build 1682

1. Mantis#0001512: auto-starting macros did not work

2. Macro: mmode(2) - returns information (macro area and flags) on starting conditions
   for "this" macro sequence (being executed).
   The lower byte of the return code is the macro area index from which the macro has started:

         0 - Other           -  Text copying mode from screen, vertical menus
         1 - Shell           -  File panels
         2 - Viewer          -  Inner viewer
         3 - Editor          -  Editor
         4 - Dialog          -  Dialogs
         5 - Search          -  Quick search in panels
         6 - Disks           -  Drive selection menu
         7 - MainMenu        -  Main menu
         8 - Menu            -  Other menus
         9 - Help            -  Help system
        10 - Info            -  Info panel
        11 - QView           -  Quick view panel
        12 - Tree            -  Folder tree panel
        13 - FindFolder      -  Folder search
        14 - UserMenu        -  User menu
        15 - AutoCompletion  -  AutoCompletion list
       255 - Common          -  Common area

    Other values are the start conditions flags (including some service flags)

       Start conditions:
         0x00000200 - do NOT pass keys to plugins while recording/playing a macro
         0x00000800 - the macro is started at FAR start
         0x00001000 - run if the command line is empty
         0x00002000 - run if the command line is not empty
         0x00004000 - run if selection is present in editor
         0x00008000 - run if no selection is present in editor
         0x00010000 - active:  run if selection is present
         0x00020000 - passive: run if selection is present
         0x00040000 - active:  run if no selection is present
         0x00080000 - passive: run if no selection is present
         0x00100000 - active:  run if there is a plugin panel
         0x00200000 - passive: run if there is a plugin panel
         0x00400000 - active:  run if there is a file panel
         0x00800000 - passive: run if there is a file panel
         0x01000000 - active:  run if current object is "file"
         0x02000000 - passive: run if current object is "file"
         0x04000000 - active:  run if current object is "directory"
         0x08000000 - passive: run if current object is "directory"

       Additional information:
         0x00000100 - suppress screen redraw while running the macro
         0x10000000 - multi-line text of the macro (REG_MULTI_SZ)
         0x40000000 - the macro must be saved when saving macros
         0x80000000 - the macro is switched off (macros marked with this flag are not run - neither from a keyboard, nor from eval())

       TODO: last 2 flags can be done without ReadOnly limitation

    Also, MACROFLAGS_MFLAGS values are rearranged, unused MFLAGS_REUSEMACRO is removed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001512: Не срабатывают автостартующие макросы

2. Macro: mmode(2) - вернуть информацию (область и флаги) об условиях запуска "этой" макропоследовательности (исполняемой сейчас).
    Функция возвращает в младшем байте номер макрообласти, из которой стартовал макрос:

         0 - Other           -  Режим копирования текста с экрана, вертикальные меню
         1 - Shell           -  Файловые панели
         2 - Viewer          -  Внутренняя программа просмотра
         3 - Editor          -  Редактор
         4 - Dialog          -  Диалоги
         5 - Search          -  Быстрый поиск в панелях
         6 - Disks           -  Меню выбора дисков
         7 - MainMenu        -  Основное меню
         8 - Menu            -  Прочие меню
         9 - Help            -  Система помощи
        10 - Info            -  Информационная панель
        11 - QView           -  Панель быстрого просмотра
        12 - Tree            -  Панель дерева папок
        13 - FindFolder      -  Поиск папок
        14 - UserMenu        -  Меню пользователя
        15 - AutoCompletion  -  Список автодополнения
       255 - Common          -  Общая область

    остальные значения - флаги условий запуска (в т.ч. некоторые служебные флаги)

       Условия запуска:
         0x00000200 - НЕ передавать плагинам клавиши во время записи/воспроизведения макроса
         0x00000800 - этот макрос запускается при старте ФАРа
         0x00001000 - запускать, если командная линия пуста
         0x00002000 - запускать, если командная линия не пуста
         0x00004000 - запускать, если есть выделение в редакторе
         0x00008000 - запускать, если есть нет выделения в редакторе
         0x00010000 - активная:  запускать, если есть выделение
         0x00020000 - пассивная: запускать, если есть выделение
         0x00040000 - активная:  запускать, если есть нет выделения
         0x00080000 - пассивная: запускать, если есть нет выделения
         0x00100000 - активная:  запускать, если это плагиновая панель
         0x00200000 - пассивная: запускать, если это плагиновая панель
         0x00400000 - активная:  запускать, если это файловая панель
         0x00800000 - пассивная: запускать, если это файловая панель
         0x01000000 - активная:  запускать, если текущий объект "файл"
         0x02000000 - пассивная: запускать, если текущий объект "файл"
         0x04000000 - активная:  запускать, если текущий объект "папка"
         0x08000000 - пассивная: запускать, если текущий объект "папка"

       Доп.инфа:
         0x00000100 - подавить обновление экрана во время выполнения макроса
         0x10000000 - текст макроса многострочный (REG_MULTI_SZ)
         0x40000000 - этот макрос необходимо запомнить при сохранении макросов
         0x80000000 - этот макрос отключен (помеченные этим флагом макросы не запускаются - ни с клавиатуры, ни из eval())

       TODO: последние 2 флага в принципе возможно сделать не ReadOnly

    Так же перетасовал значения MACROFLAGS_MFLAGS и удалил неиспользуемый MFLAGS_REUSEMACRO.

--------------------------------------------------------------------------------
svs 2010-09-23 00:26:57+03:00 - build 1681

1. Mantis#0001508: Far crash when executing a macro on a slowly refreshing panel
   During the call of macro function Panel.SetPos(), panel.SetPath() and Panel.SetPosIdx() the macros
   are frozen until the functions are done: on "big" directories (like network ones, with large amount
   of file objects and/or slow channels) these functions can display messages about file/folder data
   collecting process, with the possibility of cancellation on Esc.

   TODO: Now the code is appended with snippets which remove screen lock before work (and set it back
         after execution) - see them between tags <Lock?> and </Lock?>.
         This decision lets "see" the very message about data collecting process.
         Here is an "obscurity" - are the snippets really needed?
         * if they are, then a situation takes place for the case when the message has appeared and
           user has cancelled the scanning... an unfinished transaction
         * if they are not, then we have a contrary situation - for the macro, user sees
           non-responding Far (until directory scanning is done)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001508: Падение Far при выполнении макроса на медленно обновляемой панели
   Во время вызова макрофункций Panel.SetPos(), panel.SetPath() и Panel.SetPosIdx() макросы замораживаются
   до момента выполнения этих функций: на "больших" каталогах (например, сетевые, с большим количеством
   файловых объектов и/или медленных каналах) эти функции могут выводить сообщения о процессе сбора
   данных о файлах/каталогах, с возможностью отменить процесс по Esc.

   TODO: Сейчас в код добавлены куски кода, убирающие перед работой функций лочку экрана (и выставляющие
         ее обратно, после исполнения) - см. между тэгами <Lock?> и </Lock?>.
         Это решение позволяет "увидеть" тот самый месаг о процессе сбора данных.
         Здесь "непонятки" - нужны ли эти куски?
         * если нужны, то возникает ситуация для случая, когда месаг появился и
           юзер прервал сканирование... незаконченная транзакция
         * если не нужны, то ситуация обратная - пользователь для такого макроса
           будет видеть не реагирующий ни на что Far (до момента завершения сканирования каталога)

--------------------------------------------------------------------------------
drkns 2010-09-21 20:38:32+02:00

1. Another flaw in gcc headers.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Очередная неполноценность gcc-хидеров.

--------------------------------------------------------------------------------
warp 2010-09-21 00:30:00+01:00 - build 1680

1. Some unnecessary stuff got into the wrapper. Returned.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Случайно просочилось левое во враппер. Возвращаю.

--------------------------------------------------------------------------------
warp 2010-09-21 00:15:00+01:00 - build 1679

1. Experimental. The support of detection is added for BD-ROM (it was buggy), BD-RW, HDDVD, HDDVD-RW.

2. Removed function which did drive type detection based on removable media format. This was a sort of black magic.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Экспериментально. Добавлена поддержка определения BD-ROM (раньше работало
   плохо), BD-RW, HDDVD, HDDVD-RW.

2. Выкинул функцию определения типа привода по формату носителя. Это какое-то
   уж слишком сильное колдунство.

--------------------------------------------------------------------------------
drkns 2010-09-18 19:11:51+02:00 - build 1678

1. From svs:  on Mantis#0000928. "Modal" state in macros is also set in editor and viewer.

2. From svs: incorrect menu positioning on CtrlF12.

3. XLAT_USEKEYBLAYOUTNAME and XLAT_CONVERTALLCMDLINE flags are uncommented in plugin.hpp.

4. x64 warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. From svs:  По мотивам Mantis#0000928. У редактора и вьюверю в макросах состояние Modal так же выставляется.

2. From svs: неправильно позиционировалось меню по CtrlF12.

3. В plugin.hpp раскомментированы флаги XLAT_USEKEYBLAYOUTNAME и XLAT_CONVERTALLCMDLINE.

4. x64 warnings.

--------------------------------------------------------------------------------
svs 2010-09-17 17:13:31+03:00 - build 1677

1. Mantis#0001502: Items selection in sorting modes menu (Ctrl-F12)
     #+# key switches to regular sorting.
     #-# key switches to reverse sorting.
     #*# key toggles the current sorting mode.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001502: Выделение элементов в меню режимов сортировки (Ctrl-F12)
     Клавиша #+# устанавливает прямую сортировку.
     Клавиша #-# устанавливает обратную сортировку.
     Клавиша #*# меняет сортировку на обратную.

--------------------------------------------------------------------------------
t-rex 2010-09-17 12:49:19+02:00 - build 1676

1. oldfar::DM_GETTEXT incorrect handling if oldfar::FarDialogItemData.PtrLength==0.
   This behavior has to be removed from 2.0 API.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Неправильная обработка oldfar::DM_GETTEXT при oldfar::FarDialogItemData.PtrLength==0.
   Надо удалить такое поведение в 2.0 API.

--------------------------------------------------------------------------------
drkns 2010-09-17 10:53:53+02:00 - build 1675

1. Error in files decryption logic when copying.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ошибка в логике расшифровки файлов при копировании.

--------------------------------------------------------------------------------
drkns 2010-09-16 20:12:34+02:00 - build 1674

1. A correction of 1511: the editor caption stays changed for Unicode plugins only.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 1511 билда: заголовок редактора "насовсем" меняется только для юникодных плагинов.

--------------------------------------------------------------------------------
svs 2010-09-16 17:50:23+03:00 - build 1673

1. Mantis#0001504: Provide an ability of emitting a sound dependent on a keyboard layout
   Functions (macro) are added:
	N=beep([N])
	  Here, the parameter is (like in WinAPI MessageBeep function):
		MB_ICONASTERISK = 0x00000040
			Asterisk sound
		MB_ICONEXCLAMATION = 0x00000030
			Exclamation sound
		MB_ICONHAND = 0x00000010
			Critical error sound
		MB_ICONQUESTION = 0x00000020
			Question sound
		MB_OK = 0x0
			Standard sound
		SIMPLE_BEEP = 0xffffffff
			Built-in speaker
	  Returned value is 1 or 0 (in case of failure)

	other bells and whistles to be done with plugins (after Mantis#0000466 "solution")

	N=kbdLayout([N])
	  Dealing with keyboard layouts
	  Parameter N:
		a) the value itself: 0x0409 or 0x0419 or...
		b) 1 - the next system one (round-robin)
		c) -1 - the previous system one (round-robin)
		d) 0 or unspecified - return the current layout.

	  Returned value is 0 in case of an error or the previous layout (the current one if N=0)
	  Errors: cannot define current layout name for the console or failed to get console window handle.

	  When non-existing layout is specified the function returns the current layout without an error.

	For example,
	  print(itoa(kbdLayout(0x421),16))
	    If Russian layout is the current one, the function returns 4190419
	  print(itoa(kbdLayout(),16))
	    If Russian layout is the current one, the function returns 4190419
	  print(itoa(kbdLayout(0x409),16))
	    If Russian layout is the current one, the function returns 4190419 and switches to English layout
	  print(itoa(kbdLayout(1),16))
	    If Russian layout is the current one, the function returns 4190419 and cycles to the next layout

2. Macro: $KbdSwitch macro command is removed
   <ACHTUNG>

     Replace $KbdSwitch with kbdLayout(1) in your macros

   </ACHTUNG>

3. Mantis#0001423 - Get menu item state
   More specific on Checked state.

   Now Menu.ItemStatus() function returns a mark character (U+XXXX) in the high word of the result
   If flag 0x2 is set and the high word is 0, then Far uses its own character (0x221A)
   If flag 0x2 is set and the high word isn't 0, then Far uses the mark character from the high word
   If flag 0x2 is NOT set and the high word isn't 0, this means nothing

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001504: Обеспечить возможность издавать звук в зависимости от раскладки
   Добавлены функции (macro):
	N=beep([N])
	  Здесь параметр (как у функции WinAPI MessageBeep):
		MB_ICONASTERISK = 0x00000040
			Звук Звездочка
		MB_ICONEXCLAMATION = 0x00000030
			Звук Восклицание
		MB_ICONHAND = 0x00000010
			Звук Критическая ошибка
		MB_ICONQUESTION = 0x00000020
			Звук Вопрос
		MB_OK = 0x0
			Стандартный звук
		SIMPLE_BEEP = 0xffffffff
			Встроенный динамик
	  Возвращает 1 или 0 (в случае неудачи)

	Прочие "извращения" со звуком - через плагины (после "решения" Mantis#0000466)

	N=kbdLayout([N])
	  Работа с раскладками клавиатуры
	  Параметр N:
		а) конкретика: 0x0409 или 0x0419 или...
		б) 1 - следующую системную (по кругу)
		в) -1 - предыдущую системную (по кругу)
		г) 0 или не указан - вернуть текущую раскладку.

	  Возвращает 0 в случае ошибки или предыдущую раскладку (для параметра N=0 - текущую)
	  Ошибки: не удалось определить имя текущей раскладки для консоли или не удалось получить хэндл консольного окна.

	  В случае указания конкретной НЕ существующей раскладки функция ошибку не выдаст и просто вернет текущую раскладку.

	Например,
	  print(itoa(kbdLayout(0x421),16))
	    При текущей русской раскладке просто вернет 4190419
	  print(itoa(kbdLayout(),16))
	    При текущей русской раскладке вернет 4190419
	  print(itoa(kbdLayout(0x409),16))
	    При текущей русской раскладке вернет 4190419 и переключит раскладку на английскую
	  print(itoa(kbdLayout(1),16))
	    При текущей русской раскладке вернет 4190419 и переключит на следующую раскладку (по кругу)

2. Macro: Удалена макрокоманда $KbdSwitch
   <АХТУНГ>

     Замените у себя $KbdSwitch на kbdLayout(1)

   </АХТУНГ>

3. Mantis#0001423 - Узнать состояние пункта меню
   Уточнение про состояние Checked.

   Теперь функция Menu.ItemStatus() возвращает в старшем слове символ пометки (U+XXXX)
   Если выставлен флаг 0x2 и старшее слово равно 0, то Far использует свой символ (0x221A)
   Если выставлен флаг 0x2 и старшее слово не равно 0, то Far использует символ пометки из старшего слова
   Если НЕ выставлен флаг 0x2 и старшее слово не равно 0, то это нишиша не обозначает

--------------------------------------------------------------------------------
chupakabra 2010-09-14 21:33:00+02:00 - build 1672

1. Mantis#0000840: Low-fragmentation Heap is on for CRT heap.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000840: включаем Low-fragmentation Heap для CRT heap.

--------------------------------------------------------------------------------
drkns 2010-09-14 09:58:33+02:00 - build 1671

1. Metacharacters !?$history$(!.!)?! were handled incorrectly.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Неправильно обрабатывались метасимволы вида !?$history$(!.!)?!

--------------------------------------------------------------------------------
drkns 2010-09-13 11:30:02+02:00 - build 1670

1. Correction of 1669 :)

--------------------------------------------------------------------------------
drkns 2010-09-13 11:28:01+02:00 - build 1669

1. A line was lost in imports.cpp

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Потерялась строка в imports.cpp

--------------------------------------------------------------------------------
warp 2010-09-10 23:39:00+03:00 - build 1668

1. Fix in ProcessName(PN_GENERATENAME), ProxyFTP must have been functional now with
   the use of a wrapper (the wrapper must have a corresponding version).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Исправление в ProcessName(PN_GENERATENAME), теперь должен работать ProxyFTP через
   враппер (при соответствующей версии враппера).

--------------------------------------------------------------------------------
drkns 2010-09-10 19:45:44+02:00 - build 1667

1. Mantis#0001497: EditorControl (ECTL_GETBOOKMARKS) works incorrectly.

2. Mantis#0001498: Cursor is not hidden if the dialog is dragged beyond the screen borders.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001497: EditorControl (ECTL_GETBOOKMARKS) работает неправильно.

2. Mantis#0001498: Курсор не прячется при утаскивании диалога за пределы экрана.

--------------------------------------------------------------------------------
drkns 2010-09-09 09:50:09+02:00 - build 1666

1. Mantis#0001495: Error in search (AltF7) in %PATH%.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001495: Ошибка при поиске (AltF7) в %PATH%.

--------------------------------------------------------------------------------
chupakabra 2010-09-05 14:33:00+02:00 - build 1665

1. When PutFilesW()=1, the cursor is not set on directories.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При PutFilesW()=1 не устанавливаем курсор на каталоги.

--------------------------------------------------------------------------------
chupakabra 2010-09-02 19:41:00+02:00 - build 1664

1. Rollback of 1661.

--------------------------------------------------------------------------------
drkns 2010-08-31 12:40:01+02:00 - build 1663

1. setupapi.dll is ubiquitous, so we link it statically.
   Ibid: a few CM_* functions are replaced with recommended SetupDi* analogs.

2. Correction of lng.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Т.к. setupapi.dll есть везде - линкуем статически.
   Там же: несколько функций CM_* заменены на рекомендуемые SetupDi*-аналоги.

2. Коррекция lng.

--------------------------------------------------------------------------------
zg 2010-08-30 01:25:01+02:00 - build 1662

1. A separate GUID is assigned to a move/rename dialog. Earlier, the copy dialog's GUID was used.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. добавлен гуид диалогу перемещения/переименования. раньше гуид совпадал с гуидом диалога копирования.

--------------------------------------------------------------------------------
chupakabra 2010-08-26 22:54:00+02:00 - build 1661

1. GetFilesW is always called with a full path given.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Всегда передаем в GetFilesW полный путь.

--------------------------------------------------------------------------------
chupakabra 2010-08-26 22:22:00+02:00 - build 1660

1. ACTL_PROGRESSNOTIFY - Far performs standard notification of operation completion (flashing button in taskbar).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. ACTL_PROGRESSNOTIFY - Far выполняет стандартное оповещение о завершении операции (мерцание кнопкой в таскбаре).

--------------------------------------------------------------------------------
drkns 2010-08-26 21:02:33+02:00 - build 1659

1. Correction of DN_GETDIALOGINFO.

2. Makeup in hotplug.cpp.

--------------------------------------------------------------------------------
drkns 2010-08-27 09:50:32+02:00

1. Spanish translation (lng file) from Mauro72.

--------------------------------------------------------------------------------
svs 2010-08-26 07:50:23+03:00

1. Mantis#0000986: Far 2 API - pascal
   PluginW.pas is updated.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000986: Far 2 API - pascal
   Обновлен PluginW.pas

--------------------------------------------------------------------------------
zg 2010-08-25 12:12:25+02:00 - build 1658

1. GUIDs are assigned to the following dialogs:
   - r/o file rewrite query. The former GUID matched the regular rewrite dialog.
   - copy a file.
   - create a hard link.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. добавлены гуиды диалогам:
   - вопрос о перезаписи r/o файла. раньше гуид совпадал с гуидом обычного диалога перезаписи.
   - копирование файла.
   - создание жёстких связей

--------------------------------------------------------------------------------
svs 2010-08-25 12:40:09+03:00 - build 1657

1. Panel API: FCTL_GETPANELFORMAT and FCTL_GETPANELHOSTFILE are added.
   (Mantis#0001472: Add FCTL_GETPANELFORMAT, FCTL_GETPANELHOSTFILE)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Panel API: добавлены FCTL_GETPANELFORMAT и FCTL_GETPANELHOSTFILE.
   (Mantis#0001472: Добавить FCTL_GETPANELFORMAT, FCTL_GETPANELHOSTFILE)

--------------------------------------------------------------------------------
svs 2010-08-25 11:17:55+03:00 - build 1656

1. Mantis#0001471: QuickView in plugin panel displays random info on folders
   Display of some folder properties is disabled for plugins (garbage was shown)

2. The first stage of FolderShortcuts reconstruction
    - Functions GetShortcutFolder() and SaveFolderShortcut() don't know what a "key" is.
    - RCtrl[Shift]-0..9 processing algorithm is moved out of FileList::ProcessKey()
      into Panel class as ExecShortcutFolder() and SaveShortcutFolder() functions.
    - GetShortcutFolderSize() function is removed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001471: QuickView в панели плагина показывает случайную информацию о каталогах
   Для плагинов уберем показ некоторых параметров папок (выводится нереальный мусор)

2. Первый этап перелопачивания FolderShortcuts
    - Функции GetShortcutFolder() и SaveFolderShortcut() понятия не имеют что такое "клавиша".
    - математика реагирования на RCtrl[Shift]-0..9 вынесена из FileList::ProcessKey() в class Panel в виде функций ExecShortcutFolder() и SaveShortcutFolder().
    - про функцию GetShortcutFolderSize() забыли - остатки роскоши былой.

--------------------------------------------------------------------------------
zg 2010-08-24 20:38:59+02:00 - build 1655

1. GUIDs are assigned to the following dialogs:
   - open a file in editor.
   - save a file in editor.
   - create a folder.
   - set file attributes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. добавлены гуиды диалогам:
   - открытие файла в редакторе.
   - сохранение файла в редакторе.
   - создание папки.
   - установка атрибутов.

--------------------------------------------------------------------------------
drkns 2010-08-23 19:54:28+02:00 - build 1654

1. Autocompletion also works for paths like %env%\foo.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Автодополнение работает и для путей вида %env%\foo.

--------------------------------------------------------------------------------
drkns 2010-08-22 08:30:54+02:00 - build 1653

1. Virtual drives detection affects hard drives only.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При определении виртуальных дисков обрабатываются только жёсткие диски.

--------------------------------------------------------------------------------
svs 2010-08-21 23:18:55+03:00 - build 1652

1. Macro: an "exact string" term is added (like "verbatim string" in C#).
   Exact string has @ symbol at the beginning and surrounded with double quotes.
   Escape-sequences are not processed in it, which allows usage of such a string where
   the sequence is formed with the use of metacharacters, for example, in UserMenu.
   Example: replace all '\' to '/' in a path:
    print(replace(@"!\!.!", @"\", ""))
   In order to include double quote character into an "exact string", use the character twice:
     @"""Word!"" in double quotes."

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: добавлен термин "точная строка" ("verbatim string", как в C#)
   Точная строка начинается со знака @ и заключена в двойные кавычки.
   В ней escape-последовательности не обрабатывается, что позволяет использовать такую строку там, где
   последовательность формируется с применением метасимволов, например в UserMenu. Например, в пути заменяем все '\' на '/'
    print(replace(@"!\!.!", @"\", ""))
   Чтобы включить знак двойной кавычки в "точную строку", следует использовать знак кавычек дважды:
     @"""Слово!"" в двойных кавычках."

--------------------------------------------------------------------------------
svs 2010-08-21 11:00:41+03:00 - build 1651

1. Macro: mload() function did not work

--------------------------------------------------------------------------------
zg 2010-08-20 18:10:13+02:00 - build 1650

1. Mantins#0001469: Processing of right arrow keystroke is broken in Editor Word Completion.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantins#0001469: Editor Word Completion перестал понимать нажатие Right.

--------------------------------------------------------------------------------
drkns 2010-08-20 15:08:21+02:00 - build 1649

1. Virtual drives can be detached at drive selection menu by pressing Del.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В меню дисков работает отсоединение виртуальных дисков по Del.

--------------------------------------------------------------------------------
drkns 2010-08-19 23:07:06+02:00 - build 1648

1. Somebody implemented a tricky optimization: get the path of temporary folder at start, save it in a variable and use it further.
   As a result, redefinition of the path did not affect the app.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Кто-то внедрил хитрую оптимизацию: получать путь к временной папке при старте, сохранять в переменную и использовать в дальнейшем.
   В результате переопределение этого пути обходило нас стороной.

--------------------------------------------------------------------------------
drkns 2010-08-19 20:21:57+02:00 - build 1647

1. Correction in 1646.

--------------------------------------------------------------------------------
drkns 2010-08-19 19:36:20+02:00 - build 1646

1. Virtual hard drives (VHD) are recognized in drive change menu. Optional is VHD container name displaying.
   Windows 7/Windows Server 2008 R2 and higher is needed.

2. A few useless "IsProcessAssignMacroKey" and more trifles.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В меню смены диска опознаются виртуальные (VHD) жёсткие диски. Опционально отображается имя VHD-контейнера.
   Работает в Windows 7/Windows Server 2008 R2 и выше.

2. Несколько ненужных IsProcessAssignMacroKey и ещё по мелочи.

--------------------------------------------------------------------------------
svs 2010-08-19 14:56:31+03:00 - build 1645

1. Macro: a function is added N=mload(S)
     it reads variable S from the registry (Vars area).
     return: 1 - the variable exists and is read successfully.
             0 - the variable does not exist; a new variable is not created;
                 if the variable existed in memory but was deleted from the registry, then the value in memory is not changed.
     the function works with REG_SZ, REG_MULTI_SZ, REG_DWORD and REG_QWORD keys.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: добавлена функция N=mload(S)
     считать из реестра (область Vars) переменную S
     вернет 1 - есть такая переменная и она успешно считана в память
            0 - нет такой переменной в реестре, переменная не создается,
                если переменная была в памяти, а из реестра стерли, то значение в памяти не изменяется.
     функция понимает REG_SZ, REG_MULTI_SZ, REG_DWORD и REG_QWORD.

--------------------------------------------------------------------------------
svs 2010-08-18 22:31:22+03:00 - build 1644

1. Mantins#0001305: wish: Show some cols of Find window
   Columns configuration is located in "Find file advanced options" dialog ("Advanced" button in search window)
   Column types syntax is the same one as for panels.
   Differences and limitations are described at help page for "Find file advanced options" dialog.

   To be improved:
     1. Get the list prepare the output line (now the list is given a previously prepared line)
     2. after this, add 9 more view modes and remove the limitation on file name column ("always last")
     4. as a result, we can get dynamic switching of view modes with Ctrl-digit (as in panels)

2. Meanwhile, a bug was found - garbage was shown in "G" column for "..".

3. ViewSettingsToText() and TextToViewSettings() are not FileList class members anymore.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantins#0001305: wish: Show some cols of Find window
   Настройка колонок находится в диалоге "Find file advanced options" (в поисковике кнопка "Advanced")
   Синтаксис типов колонок - как у панелей.
   Отличия и ограничения - описаны в хелпе к диалогу "Find file advanced options".

   Про развитие:
     1. сделать, что бы список формировал строку вывода (сейчас списку готовую строку подсовывают)
     2. после этого добавить еще 9 режимов отображения и снять ограничение на имя ("всегда в конце")
     4. в итоге можем получить динамичное переключение режимов отображения результатов по Ctrl-цифра (как в панелях)

2. Попутно бага нашлась - в колонке "G" для ".." показывалась какая то ерунда.

3. ViewSettingsToText() и  TextToViewSettings() более не члены класса FileList

--------------------------------------------------------------------------------
drkns 2010-08-17 20:15:03+02:00 - build 1643

1. "Move to the recycle bin" dialog: confirmation button is labeled "move" (was: "delete").

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При перемещении в корзину соответствующая кнопка диалога подтверждения подписывается как "move", а не "delete".

--------------------------------------------------------------------------------
drkns 2010-08-16 18:27:26+02:00 - build 1642

1. Changes in OpenFilePlugin menu:
   - "Even if only one plugin found" depends on "Show standard association item";
   - separate setting for ShiftF1;
   - "standard association" item is not shown for ShiftF1.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Доработка меню для OpenFilePlugin:
   - "Even if only one plugin found" зависит от "Show standard association item";
   - отдельная настройка для ShiftF1;
   - для ShiftF1 пункт "standard association" не показывается.

--------------------------------------------------------------------------------
drkns 2010-08-09 13:47:00+02:00 - build 1641

1. Mantis#0001459: a problem with Drag and Drop files

2. Correction in NTPath. Situations similar to M#0001458 must have been eliminated now.
   Also, paths like "C:\\\\\Dir1////Dir2" are ok.

3. Console redraw and querying at catalog scanning is done like anywhere else - each 200 ms, not after each 64 files.
   Ibid.: removed useless message at scanning cancel.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001459: проблема с Drag and Drop files

2. Уточнение работы NTPath. Больше не должно появляться ситуаций, подобных M#0001458. Также теперь работают пути вида "C:\\\\\Dir1////Dir2".

3. При считывании каталога перерисовка и опрос консоли производится как везде - каждые 200 мс, а не после каждых 64 файлов. Там же: убрано ненужное сообщение после отмены считывания.

--------------------------------------------------------------------------------
drkns 2010-08-09 12:27:32+02:00 - build 1640

1. Some code was left after debugging :)

--------------------------------------------------------------------------------
drkns 2010-08-07 00:20:54+02:00 - build 1639

1. Mantis#0001455: Very long delay when cancelling copy to a network volume.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001455: Очень большая задержка при отмене копирования на сетевой диск.

--------------------------------------------------------------------------------
drkns 2010-08-05 23:30:53+02:00 - build 1638

1. Correction of 1633.2.

--------------------------------------------------------------------------------
svs 2010-08-05 15:50:06+03:00 - build 1637

1. Mantis#0001451: Oddities with MCMD_CHECKMACRO
   Hang at start for an "empty" macro:
     "Sequence"="\"\""

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001451: Странности MCMD_CHECKMACRO
   Виснет при старте для "пустышки"
     "Sequence"="\"\""

--------------------------------------------------------------------------------
drkns 2010-08-05 14:15:16+02:00 - build 1636

1. When < saving a file at the built-in editor | description file refreshing | local menu editing > alternative data streams are not lost.

2. Mantis#0001443: Inconvenient reaction to mouse click in a search window.

3. FindFirstFile -> FindFirstFileEx. In Windows 7/2008 R2, folder view speedup is possible.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При < сохранении файла встроенным редактором | обновлении файла описаний | редактировании локального меню > не теряются альтернативные потоки данных.

2. Mantis#0001443: Неудобная реакция на клик мышкой в окне поиска.

3. FindFirstFile -> FindFirstFileEx. В Windows 7/2008 R2 возможно некоторое ускорение просмотра папок.

--------------------------------------------------------------------------------
svs 2010-08-04 11:45:04+03:00 - build 1635

1. Mantis#0001451: Oddities with MCMD_CHECKMACRO
   Additions to UserDefinedList.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001451: Странности MCMD_CHECKMACRO
   Доработаем UserDefinedList.

--------------------------------------------------------------------------------
yjh 2010-07-31 07:09:58+03:00 - build 1634

1. I don't know who's "fixed" BOOL to bool casting diagnostics after
   a ternary operation, but, as a result, both diagnostics has been left and
   the resulting construction has been malfunctional.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уж не знаю кто "боролся" с диагностикой приведения BOOL к bool после
   тернарной операции, но, в результате и диагностика осталась и получился
   нерабочий конструкт.

--------------------------------------------------------------------------------
drkns 2010-07-30 23:47:23+02:00 - build 1633

1. When copying directories, their alternative data streams are preserved now.

2. Eliminated the logic "if we are copying a directory and a filter is on
  and no files match the filter, then we don't need that empty directory".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При копировании каталогов теперь сохраняются их альтернативные потоки данных.

2. Прибита логика "если копируем каталог и включён фильтр и файлы в фильтр не попали, то пустой каталог не нужен".

--------------------------------------------------------------------------------
t-rex 2010-07-30 21:27:16+02:00 - build 1632

1. From Max Moysyuk: additional edition for Mantis#1419: Very slow switching to local disk (AltF1/AltF2).

2. GCC warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. From Max Moysyuk: дополнительная правка для Mantis#1419: Очень длительный переход на локальный диск (AltF1/AltF2).

2. GCC ворнинги.

--------------------------------------------------------------------------------
drkns 2010-07-29 21:09:20+02:00 - build 1631

1. Mantis#0001443: Inconvenient reaction to mouse click in a search window.

2. Mantis#0001449: Drive change error message does not fit into a console.

3. "Go to", "View" and "Panel" buttons in search dialog get blocked if nothing is found.

4. "Filter" button in copy and search dialogs get blocked if "[ ] Use filter" option is off.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001443: Неудобная реакция на клик мышкой в окне поиска.

2. Mantis#0001449: Сообщение об ошибке смены диска не влезает в консоль.

3. Кнопки "Go to", "View" и  "Panel" в диалоге поиска блокируются, если ничего не нашли.

4. Кнопка "Filter" в диалогах копирования и поиска блокируется, если не включена опция "[ ] Use filter"

--------------------------------------------------------------------------------
drkns 2010-07-28 10:00:00+02:00 - build 1630

1. Changes in usermenu.
   - in order to be considered as a divider, an item must be assigned the "--" hotkey and any label.
   - "-" hotkey is functional now.

2. The number of exclamations!!!111 in language files is slightly reduced.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Изменения в usermenu.
   - разделителем теперь считается пункт с горячей клавишей "--" и любой меткой.
   - горячая клавиша "-" теперь всегда считается горячей клавишей "-".

2. Подсократим число восклицаний!!!111 в языковых файлах.

--------------------------------------------------------------------------------
drkns 2010-07-27 17:44:36+02:00 - build 1629

1. Mantis#0001447: Freeze when positioning to a file after search

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001447: Виснем при переходе к файлу после поиска

--------------------------------------------------------------------------------
svs 2010-07-27 14:18:55+03:00 - build 1628

1. Mantis#0001446: Date() returns 0

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001446: функция Date() возвращает 0

--------------------------------------------------------------------------------
drkns 2010-07-26 21:21:04+02:00 - build 1627

1. Symbolic links creation from restricted account was broken in 64-bit OS.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не работало создание символических ссылок из-под ограниченной учётной записи в 64-битных ОС.

--------------------------------------------------------------------------------
drkns 2010-07-26 13:33:33+02:00 - build 1626

1. Command line autocompletion is not invoked anymore when CtrE/CtrlX/Up/Down/MsWheelUp/MsWheelDown is pressed.

2. Mantis#0001443: Inconvenient reaction to mouse click in search window.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При CtrE/CtrlX/Up/Down/MsWheelUp/MsWheelDown в комстроке автодополнение больше не включается.

2. Mantis#0001443: Неудобная реакция на клик мышкой в окне поиска.

--------------------------------------------------------------------------------
drkns 2010-07-21 16:41:47+02:00 - build 1625

1. Mantis#0001438: Far 2.0.1624: Changes in editor behavior in comparison with 1623 (and before).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001438: Far 2.0.1624: Изменение поведения редактора по сравнению с 1623 (и до).

--------------------------------------------------------------------------------
drkns 2010-07-20 22:08:47+02:00 - build 1624

1. Mantis#0001437: Far 2.0.1623: Example of editor behavior change.

2. Correction of 1609.2: CF_HDROP is used for "standard" CtrlIns only, <CtrlShift|CtrlAlt|AltShift>Ins keys just copy text.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001437: Far 2.0.1623: Пример изменения поведения редактора.

2. Уточнение 1609.2: CF_HDROP используется только для "стандартного" CtrlIns, <CtrlShift|CtrlAlt|AltShift>Ins копируют только текст.

--------------------------------------------------------------------------------
drkns 2010-07-20 01:21:33+02:00 - build 1623

1. A Stunning Generosity Show: ECTL_GETSTRING cyclic call is sped up dramatically,
   so ECTL_SETPOSITION + ECTL_GETSTRING(-1) trick is no longer needed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Аттракцион невиданной щедрости. Цикличный вызов ECTL_GETSTRING работает в 100500 раз быстрее. Просто так, без ритуальных приседаний с ECTL_SETPOSITION + ECTL_GETSTRING(-1).

--------------------------------------------------------------------------------
t-rex 2010-07-16 20:13:36+02:00 - build 1622

1. "Show total copy progress indicator" on by default.

--------------------------------------------------------------------------------
svs 2010-07-16 10:03:22+03:00 - build 1621

1. The "ACHTUNG"s have started at macros (see comments on 1454 and 1455).

   * $Date command is removed
       replace it with print(Date(blablabla_or_nothing))

   * $MMode command is removed
       replace it with mmode(1,2)

   * IClip state is removed
       replace it with clip(5,-1) (notice that clip() returns 1 or 2)

   * $IClip command is removed
       replace it with clip(5,0) or just clip(5)

   * DisableOutput state is removed (not the macro flag!)
       replace it with mmode(1,-1) function call

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Начало "Ахтунгов" в макросах (см. комментарий к 1454 и 1455).

   * удалена команда $Date
       заменить на print(Date(блаблабла_или_пусто))

   * удалена команда $MMode
       заменить на mmode(1,2)

   * удалено состояние IClip
       заменить на clip(5,-1) (при этом учесть, что clip() вернет 1 или 2)

   * удалена команда $IClip
       заменить на clip(5,0) или просто clip(5)

   * удалено состояние DisableOutput (не флаг макроса!)
       заменить на вызов функции mmode(1,-1)

--------------------------------------------------------------------------------
drkns 2010-07-15 13:47:00+02:00 - build 1620

1. Settings shake-up:
   "Plugin selection" dialog has grown into "Plugins manager", "Path for
   personal plugins" has also moved there and a couple of new options is added:
   "OEM plugins support" - old plugins on/off global switching;
   "Scan symbolic links" - load or don't load plugins at symbolic links.

2. Correction of 1616.1.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Перетасовка настроек:
   Диалог "Plugin selection" вырос до "Plugins manager", сюда же переехал "Path for personal plugins" и добавлена пара новых опций:
   "OEM plugins support" - глобальное включение/отключение поддержки старых плагинов;
   "Scan symbolic links" - загружать/не загружать плагины из ссылок.

2. Уточнение 1616.1.

--------------------------------------------------------------------------------
drkns 2010-07-15 10:00:00+02:00 - build 1619

1. x64.

--------------------------------------------------------------------------------
drkns 2010-07-15 10:00:00+02:00 - build 1618

1. ScreenBuf::MoveCursor() is optimized slightly.

--------------------------------------------------------------------------------
drkns 2010-07-14 18:04:04+02:00 - build 1617

1. Correction of console block read/write algorithm.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение алгоритма блочной записи/чтения консоли.

--------------------------------------------------------------------------------
drkns 2010-07-12 19:38:29+02:00 - build 1616

1. Drive selection error dialog functionality is extended, it is possible now
   to select another drive without leaving the dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Расширена функциональность диалога ошибки смены диска - теперь можно не отходя от кассы выбрать более другой диск.

--------------------------------------------------------------------------------
t-rex 2010-07-12 10:45:46+02:00 - build 1615

1. Mantis#1432: gcc build problems.

--------------------------------------------------------------------------------
svs 2010-07-12 10:44:28+03:00 - build 1614

1. Mantis#0001412: F1 when viewing *.hlf

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001412: F1 при просмотре *.hlf

--------------------------------------------------------------------------------
drkns 2010-07-09 13:04:33+02:00 - build 1613

1. "faradminmode" variable was inherited from parent process.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Переменная faradminmode наследовалась от родительского процесса.

--------------------------------------------------------------------------------
t-rex 2010-07-08 20:10:14+02:00 - build 1612

1. Fix of 1607 (http://forum.farmanager.com/viewtopic.php?p=65440#p65440).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Исправление 1607 (http://forum.farmanager.com/viewtopic.php?p=65440#p65440).

--------------------------------------------------------------------------------
t-rex 2010-07-08 19:29:44+02:00 - build 1611

1. And once more, Mantis#1429: Incorrect work after launch as "... | far.exe /v -"
   apiCreateFile() adds flags (perhaps this has to be removed as it is not clear at all?),
   and CONIN$ can be opened with some special flags only.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. И ещё раз, Mantis#1429: Некоректная работа при открытии через "... | far.exe /v -"
   apiCreateFile() добавляет флаги (может это всё таки убрать а то не очевидно совсем?),
   а CONIN$ можно открывать только с очень определёнными флагами.

--------------------------------------------------------------------------------
drkns 2010-07-06 16:47:23+02:00 - build 1610

1. More of 1609: CF_HDROP buffer content can be pasted in editor/text fields as a text.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 1609: содержимое CF_HDROP-буфера может вставляться в редактор/строки ввода в виде текста.

--------------------------------------------------------------------------------
drkns 2010-07-06 13:55:22+02:00 - build 1609

1. A couple of bugs at attributes setup.

2. Experimental: file names are copied from panel into clipboard in additional CF_HDROP format,
   which allows "paste" the files from clipboard to other applications (Explorer etc.).
   Reverse operation (copy "there" and paste "here") is not supported so far, buf everything's possible.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Пара багов в установке атрибутов.

2. В порядке эксперимента: при копировании с панели имён файлов в буфер обмена используется также формат CF_HDROP,
   что позволяет "вставлять" эти файлы из буфера в более других программах (проводник и т. п.).
   Обратная операция (копировать "там" и вставлять "здесь") пока не поддерживается, но всё возможно.

--------------------------------------------------------------------------------
t-rex 2010-07-08 00:34:21+02:00 - build 1608

1. From Max Moysyuk: Mantis#1419: Very slow switching to local disk (AltF1/AltF2)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. From Max Moysyuk: Mantis#1419: Очень длительный переход на локальный диск (AltF1/AltF2)

--------------------------------------------------------------------------------
t-rex 2010-07-08 00:12:29+02:00 - build 1607

1. Mantis#1428: Crash when FCTL_SETNUMERICSORT is set.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1428: Падение при FCTL_SETNUMERICSORT.

--------------------------------------------------------------------------------
drkns 2010-07-06 22:36:48+02:00 - build 1606

1. CD drive was opened with read/write access at drive type detection, for some reason.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. при определении типа CD-привод кроме чтения зачем-то открывался ещё на запись.

--------------------------------------------------------------------------------
svs 2010-07-06 18:00:12+03:00 - build 1605

1. Mantis#0000986: Far 2 API - pascal
   FarColorW.pas, FarKeysW.pas and PluginW.pas are updated.

2. Mantis#0000968: waitkey() skips AltIns

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000986: Far 2 API - pascal
   Обновлены FarColorW.pas, FarKeysW.pas и PluginW.pas

2. Mantis#0000968: waitkey() пропускает AltIns

--------------------------------------------------------------------------------
drkns 2010-07-05 11:00:00+02:00 - build 1604

1. Another "type" of symbolic links is available at link creation dialog,
   with no explicit notation whether it is a file or a directory.
   The necessary option is chosen automatically according to the attributes of
   referred object.

2  FLINK_SYMLINK flag is available in FSF.MkLink, it enables automatic
   selection of symbolic link type.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В диалоге создания ссылок доступен ещё один "тип" символических ссылок - без явного указания, файл это или папка.
   Нужный вариант выбирается автоматически по атрибутам объекта, на который указывает ссылка.

2  В FSF.MkLink доступен флаг FLINK_SYMLINK, автоматически выбирающий тип символической ссылки.

--------------------------------------------------------------------------------
drkns 2010-07-02 16:17:18+02:00 - build 1603

1. Mantis#0001425: a bug at files highlighting settings reset

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001425: глюк после сброса настроек раскраски файлов

--------------------------------------------------------------------------------
t-rex 2010-07-02 15:20:09+02:00 - build 1602

1. "far /v -" was broken again.

--------------------------------------------------------------------------------
svs 2010-07-02 11:22:10+03:00 - build 1601

1. Mantis#0000926: Eval() sets DisableOutput=1
  KeyMacro::GetCurRecord() function returned wrong data (library code was taken instead of data from working macro)

2. Mantis#0001423: Check the state of menu item
  N=Menu.ItemStatus([N]);

  Return the state of N-th menu item (N is 1-based), or current item if N==0 or unspecified.

  It works in absolute menu items space (not taking filters and other hiding mechanisms into consideration)

  The set of returned flags:
  0x00000001 - Selected
  0x00000002 - Checked
  0x00000004 - Separator
  0x00000008 - Disabled
  0x00000010 - Grayed
  0x00000020 - Hidden (by filter)

  0xFFFFFFFF - nonexistent/error (N is out of range)

  TODO (after Mantis#0001422 implementation):
  0x00000040 - Hotkey is present
  0x00000080 - Hotkey is manually specified by user

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000926: Eval() устанавливает DisableOutput=1
   функция KeyMacro::GetCurRecord() не те данные возвращала (вместо данных из рабочего макроса брала библиотечный код)

2. Mantis#0001423: Узнать состояние пункта меню
     N=Menu.ItemStatus([N]);

     Вернуть состояние N-го пункта меню (N - 1-based), или текущего пункта, если N==0 или не указан.

     Работает в абсолютном пространстве пунктов меню (без учета фильтров пр. механизмов сокрытия)

     Возвращает набор флагов:
       0x00000001 - Selected (текущий пункт)
       0x00000002 - Checked (отображена метка выбора)
       0x00000004 - Separator (пункт является разделителем)
       0x00000008 - Disabled (пункт недоступен)
       0x00000010 - Grayed ("серый")
       0x00000020 - Hidden (скрыт фильтром)

       0xFFFFFFFF - нету нишиша/ошибка (N вне диапазона наличности)

     TODO (после реализации Mantis#0001422):
       0x00000040 - Hotkey present (имеет хоткей)
       0x00000080 - Hotkey manual (хоткей был назначен юзером)

--------------------------------------------------------------------------------
drkns 2010-07-01 22:20:00+02:00 - build 1600

1. Mantis#0001420: Far Manager does not disable windows hibernate during copy(move).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001420: far manager не запрещает винде хибернейт во время копирования(перемещения).

--------------------------------------------------------------------------------
t-rex 2010-06-30 21:21:26+02:00 - build 1599

1. Another CacheRead shake-up (hope it's the last one),
  this fixed a lot of different mystic viewer large files search bugs in last builds.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё один перетрях CacheRead (надеюсь последний),
   починило дофига разных мистических глюков при поиске в просмотре в больших файлах в последних билдах.

--------------------------------------------------------------------------------
svs 2010-06-29 15:01:56+03:00 - build 1598

1. Mantis#0001416: waitkey(0,0) does not respond to mouse clicks with modifiers

2. Macro: parsing error at functions with optional elements.
  "...spotted a msgbox(menu.value,gethotkey()) macro malfunction, menu.value returns nothing in such a combination..."
  (perhaps a correction is needed)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001416: waitkey(0,0) не реагирует на клики мышки с модификаторами

2. Macro: ошибка парсера функций с необязательными элементами.
   "...наткнулся на неработоспособность макроса msgbox(menu.value,gethotkey()) в таком сочетании menu.value ничего не возвращает..."
   (возможно нужно уточнение)

--------------------------------------------------------------------------------
t-rex 2010-06-27 13:43:59+02:00 - build 1597

1. Viewer search didn't work on large files in common.

2. GCC warning.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Поиск во вьювере в общем не работал для больших файлов.

2. GCC ворнинг.

--------------------------------------------------------------------------------
t-rex 2010-06-26 21:03:19+02:00 - build 1596

1. Grey+/- in viewer lead to unexpected result.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Grey+/- во въювере приводили к не совсем ожидаемым результатам.

--------------------------------------------------------------------------------
drkns 2010-06-26 16:28:50+02:00 - build 1595

1. Launch from external view/edit commands history didn't work.
  It had been malfunctional for about 5 years already.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не работал запуск из истории внешних команд просмотра/редактирования.
   Причём лет 5 уже.

--------------------------------------------------------------------------------
chupakabra 2010-06-24 14:34:00+02:00 - build 1594

1. Forcing displaying of first processed file name at attributes setting
  (if not, an empty field is displayed when Compressed is set for a big file).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Форсируем отображение имени первого обрабатываемого файла при установке атрибутов
   (иначе при установке атрибута Compressed для больших файлов отображается пустое поле).

--------------------------------------------------------------------------------
drkns 2010-06-16 13:47:00+02:00 - build 1593

1. After 1583, viewer was slow on network files.

2. Taskbar button flashes 5 times, not endlessly.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. После 1583 вьювер тормозил при работе по сети.

2. Мигаем таскбарной кнопкой 5 раз, а не бесконечно.

--------------------------------------------------------------------------------
drkns 2010-06-16 11:21:12+02:00 - build 1592

1. Faster File::Eof() implementation.

2. A few bool's.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Более быстрая реализация File::Eof()

2. Немного bool.

--------------------------------------------------------------------------------
drkns 2010-06-16 18:56:32+02:00 - build 1591

1. Mantis#0001409: Crash at folder deletion.

2. A bug in help.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001409: Падение во время удаления папки.

2. Глюк в хелпе.

--------------------------------------------------------------------------------
t-rex 2010-06-15 00:05:09+02:00 - build 1590

1. Custom data sorting is added to CtrlF12 menu .

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В CtrlF12 добавлена возможность сортировать по Custom data.

--------------------------------------------------------------------------------
t-rex 2010-06-14 00:56:58+02:00 - build 1589

1. Mantis#1405: C:\>cls stays on screen after issuing “cls”.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1405: После cls на экране остаётся C:\>cls

--------------------------------------------------------------------------------
t-rex 2010-06-12 19:14:06+02:00 - build 1588

1. Experimental, unofficial and buggy, just to take a look, play and think:
  support for custom column (C0), filled by plugins, in non-plugin file panels
int WINAPI GetCustomDataW(const wchar_t *FilePath, wchar_t **CustomData)
void WINAPI FreeCustomDataW(wchar_t *CustomData)
  if multiple plugins return custom data for the same file, then "Plugin1 Plugin2 Plugin3" is shown.

2. A language file error was shown when panel modes editing dialog was opened.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Экспериментально, неофициально и криво на посмотреть, поиграться и подумать:
   поддержка кастом колонки (C0) заполняемой плагинами в не плагиновых файловых панелях
   int WINAPI GetCustomDataW(const wchar_t *FilePath, wchar_t **CustomData)
   void WINAPI FreeCustomDataW(wchar_t *CustomData)
   если несколько плагинов возвращают кастом данные для одного и того же файла то будет показано "Plugin1 Plugin2 Plugin3"

2. Выскакивала ошибка языкового файла при открытия диалога редактирования панельных режимов.

--------------------------------------------------------------------------------
drkns 2010-06-12 08:58:26+02:00 - build 1587

1. And once more.

--------------------------------------------------------------------------------
drkns 2010-06-12 08:43:29+02:00 - build 1586

1. Fix of 1584.2.

--------------------------------------------------------------------------------
t-rex 2010-06-11 18:16:03+02:00 - build 1585

1. Same as 1584.1 but for plugin panel refresh.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Тоже что и 1584.1 но для обновления плагиновой панели.

--------------------------------------------------------------------------------
drkns 2010-06-11 13:47:00+02:00 - build 1584

1. There was no filter activity check at panel refresh. With the check, now it's much faster.

2. Some makeup.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При обновлении панели не было проверки активности фильтра. Говорят, приводило к тормозам.

2. Косметические изменения в коде.

--------------------------------------------------------------------------------
drkns 2010-06-09 11:17:22+02:00 - build 1583

1. Getting the viewer rid of FILE*.
  Privileges elevation must be functional now.
  View of \\.\physicaldrive0, \\.\cdrom0 etc. is temporarily broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Отучение вьювера от FILE*.
   Должно заработать повышение прав.
   Просмотр \\.\physicaldrive0, \\.\cdrom0 и т. п. отвалился. Но это временно.

--------------------------------------------------------------------------------
t-rex 2010-06-08 22:44:13+02:00 - build 1582

1. Same fix as in 1579.2 but for VBlock2Text().

--------------------------------------------------------------------------------
drkns 2010-06-07 21:07:35+02:00 - build 1581

1. FARUSER variable could be set even without /u key (it was inherited from parent process).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Переменная FARUSER могла быть установлена и при отсутствии ключа /u (наследовалась от родительского процесса).

--------------------------------------------------------------------------------
yjh 2010-06-07 15:41:36+03:00 - build 1580

1. QuotedSymbols list is appended with oem(0xFF) ("soft-space") - this is required by standard console tools (copy/move/etc)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В список QutedSymbols добавлен oem(0xFF) ("sopft-space") - этого требуют
   стандартные консольные тулзы (copy/move/etc)

--------------------------------------------------------------------------------
drkns 2010-06-06 22:01:56+02:00 - build 1579

1. Correction of ACTL_GETFARRECT function.

2. CtrlX at empty line added garbage to clipboard.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение работы ACTL_GETFARRECT.

2. По CtrlX на пустой строке в буфер обмена попадал мусор.

--------------------------------------------------------------------------------
drkns 2010-06-01 14:12:22+02:00 - build 1578

1. “!=\” metacharacter quoted strings for some purpose.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Метасимвол !=\ зачем-то окавычивал строку.

--------------------------------------------------------------------------------
drkns 2010-05-31 22:40:13+02:00 - build 1577

1. “ARRAYSIZE” macro instead of “countof”.
  Rationale: ARRAYSIZE is for arrays only, an attempt of placing a pointer there results in compilation error (not runtime error, as in case of sizeof/sizeof).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Вместо макроса countof используем макрос ARRAYSIZE.
   Смысл сего в том, что ARRAYSIZE - только для массивов и попытка запихнуть туда поинтер даст ошибку копиляции (а не выполнения, как с sizeof/sizeof).

--------------------------------------------------------------------------------
drkns 2010-05-29 13:08:42+02:00 - build 1576

1. Panels were not redrawn after ShiftEnter on a folder.

2. Corrections of 256- and 16-color variants of far.ico.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. После ShiftEnter на папке не перерисовывались панели.

2. Уточнения 256- и 16-цветных вариантов far.ico.

--------------------------------------------------------------------------------
drkns 2010-05-29 12:14:02+02:00 - build 1575

1. Another couple of trifles of the same subject.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё пара мелочей на ту же тему.

--------------------------------------------------------------------------------
drkns 2010-05-28 23:47:51+02:00 - build 1574

1. More on launcher and redraw.

2. Correction of 1564.2 - take into account that functions called by legacy plugins can be nested.

3. When resizing FAR window in "/w" mode, console content is not erased.
  This is an experimental feature, tiny artifacts are possible etc.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё порция про запускатель и перерисовки.

2. Уточнение 1564.2 - учитываем, что вызовы функций oem-плагинов бывают вложенными.

3. При изменениях размера окна в режиме "/w" содержимое консоли не стирается.
   Экспериментально, возможны мелкие артефакты и прочие ахтунги.

--------------------------------------------------------------------------------
drkns 2010-05-25 19:57:53+02:00 - build 1573

1. ACTL_GETFARRECT - "correct" way of obtaining the coordinates of FAR "window" in console buffer;
  ACTL_GETCURSORPOS - getting cursor coordinates regarding to FAR "window";
ACTL_SETCURSORPOS - setting cursor coordinates regarding to FAR "window".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. ACTL_GETFARRECT - "правильный" способ получения координат "окна" FAR в консольном буфере;
   ACTL_GETCURSORPOS - получение координат курсора относительно "окна" FAR;
   ACTL_SETCURSORPOS - установка координат курсора относительно "окна" FAR.

--------------------------------------------------------------------------------
drkns 2010-05-25 07:37:52+02:00 - build 1572

1. Continuation of 1568.

--------------------------------------------------------------------------------
drkns 2010-05-24 22:45:41+02:00 - build 1571

1. Mantis#0001393: Screen artifacts on application launch using a macro

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001393: Артефакты на экране при запуске приложения с помощью макроса

--------------------------------------------------------------------------------
drkns 2010-05-24 22:34:42+02:00 - build 1570

1. Continuation of 1568.

--------------------------------------------------------------------------------
t-rex 2010-05-24 09:19:39+02:00 - build 1569

1. from Konstantin Stupnik: Mantis#1388: Regular expressions: incorrect value in group.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. from Konstantin Stupnik: Mantis#1388: Регулярные выражения: неправильное значение в группе.

--------------------------------------------------------------------------------
drkns 2010-05-23 23:23:23+02:00 - build 1568

1. After 1564-1566, hidden problems with drawing in launcher were revealed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. После 1564-1566 вылезли скрытые проблемы с отрисовкой в запускателе.

--------------------------------------------------------------------------------
drkns 2010-05-23 14:08:39+02:00 - build 1567

1. Mantis#0001389: Crash if WindowMode=0 and ScreenBufferSize.Height=9999
  In theory, far must work now at any buffer size.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001389: Крэш при WindowMode=0 и ScreenBufferSize.Height=9999
   Теоретически, теперь far должен работать при любых размерах буфера.

--------------------------------------------------------------------------------
drkns 2010-05-22 22:45:48+02:00 - build 1566

1. And some more.

--------------------------------------------------------------------------------
drkns 2010-05-22 22:16:38+02:00 - build 1565

1. Corrections of the previous build.

--------------------------------------------------------------------------------
drkns 2010-05-22 20:00:00+02:00 - build 1564

1. Encapsulation of all used console functions.
  As a consequence, the following long awaited feature has become possible: Far can work in console window (not buffer) bounds.
  Set large buffer height and meditate over long console outputs. CtrlAlt scroll to corresponding direction.

   ACHTUNG! - this mode is guaranteed to break plugins which draw something in console directly or suppose naively that Far size is available via CONSOLE_SCREEN_BUFFER_INFO::dwSize.

2. SetFileApisToANSI() is called after non-unicode plugins finish work.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Инкапсуляция всех используемых консольных функций.
   Как следствие - стало возможным очередное "то, о чём так долго говорили большевики": Far умеет работать в пределах окна (а не буфера) консоли.
   Поставив высоту буфера побольше, можно медитировать на длинные выводы консольных программ. Кнопки CtrlAlt<PgUp|PgDn> расширят кругозор в соответствующем направлении.

   АХТУНГ! - в этом режиме гарантированно будет напрочь сносить крышу плагинам, самостоятельно рисующим что-либо
   в консоли напрямую, или наивно предполагающим, что размер фара можно получать через CONSOLE_SCREEN_BUFFER_INFO::dwSize.

2. После завершения работы неюникодных плагинов выполняется SetFileApisToANSI().

--------------------------------------------------------------------------------
t-rex 2010-05-21 18:25:32+02:00 - build 1563

1. Mantis#1387: Freeze when processing User Menu at filename containing &.

2. HiStrLen() incorrect work.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1387: Зависание при обработке User Menu на имени файла с символом &.

2. Некорректная работа HiStrLen().

--------------------------------------------------------------------------------
t-rex 2010-05-20 20:32:18+02:00

1. Mantis#1386: gcc compilation error (incorrect case in header file name).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1386: gcc ошибка компиляции (некорректный регистр в имени заголовочного файла).

--------------------------------------------------------------------------------
t-rex 2010-05-19 23:06:06+02:00 - build 1562

1. PluginDialogBuilder for AddEditField() now requires output buffer size (in characters).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В PluginDialogBuilder для AddEditField() теперь надо задавать размер (в символах) выходного буфера.

--------------------------------------------------------------------------------
drkns 2010-05-19 20:09:11+02:00 - build 1561

1. Mantis#0001384: Dim space character a little in Show Whitespace mode.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001384: Слегка приглушить символ пробела в режиме Show Whitespace.

--------------------------------------------------------------------------------
t-rex 2010-05-19 18:53:42+02:00 - build 1560

1. GetSize() in UnicodeString for obtaining of inner buffer size.

2. Optimization of ReplaceStrings().

3. Deleted some junk.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. GetSize() в UnicodeString для получения размера внутренего буфера.

2. Оптимизация ReplaceStrings().

3. Удалил каплю мусора.

--------------------------------------------------------------------------------
t-rex 2010-05-19 15:57:31+02:00 - build 1559

1. Forum: http://forum.farmanager.com/viewtopic.php?p=63127#p63127
  Crash in history, heap corruption in ReplaceStrings().

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума http://forum.farmanager.com/viewtopic.php?p=63127#p63127
   Крэш в истории, коррупция хипа в ReplaceStrings().

--------------------------------------------------------------------------------
drkns 2010-05-19 12:50:22+02:00 - build 1558

1. Correction of environment refreshing.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение обновления окружения.

--------------------------------------------------------------------------------
drkns 2010-05-17 20:06:14+02:00 - build 1557

1. Correction of WM_SETTINGCHANGE processing.

--------------------------------------------------------------------------------
drkns 2010-05-15 22:26:55+02:00 - build 1556

1. Excessive activity in taskbar when copying with [x] Show total copy progress indicator.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Излишняя активность в панели задач при копировании c [x] Show total copy progress indicator.

--------------------------------------------------------------------------------
t-rex 2010-05-15 16:10:31+02:00 - build 1555

1. from Alexander Kornienko: Mantis#1383: Additions to Mantis#1224 (VBlock2Text)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. from Alexander Kornienko: Mantis#1383: Дополнения для Mantis#1224 (VBlock2Text)

--------------------------------------------------------------------------------
t-rex 2010-05-14 16:56:29+02:00 - build 1554

1. from Alexander Kornienko: Mantis#1224: copying big block of binary data causes big mem/cpu usage and heap thrashing.
  Same fix is needed in VBlock2Text().

2. Potential memory leak in Block2Text() and VBlock2Text().

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. from Alexander Kornienko: Mantis#1224: copying big block of binary data causes big mem/cpu usage and heap thrashing.
   Надо бы такой же фикс и в VBlock2Text() сделать.

2. Потенциальная утечка памяти в Block2Text() и VBlock2Text().

--------------------------------------------------------------------------------
svs 2010-05-14 16:13:05+03:00 - build 1553

1. Macro: S=Menu.GetValue([N]) function is added, which returns menu item text for given position (menu position is not changed).
  If N is not specified or equals to 0 then the action is similar to Menu.Value application
  For non-existing menu item, an empty string is returned.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: добавлена функция S=Menu.GetValue([N]) - возвращает текст пункта меню для заданной позиции (позиция меню не меняется).
   Если N не указан или равен 0 - действие аналогично применению Menu.Value
   для отсутствующего пункта возвращается пустая строка.

--------------------------------------------------------------------------------
zg 2010-05-14 02:18:32+02:00 - build 1552

1. after 1444, Param1 <> SendDlgMessage(DM_GETFOCUS) in DN_GOTFOCUS.

2. at experiment, DN_GOTFOCUS is got after selection set for elements DIF_SELECTONENTRY flag.

3. gcc warning.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. после 1444 в DN_GOTFOCUS Param1 <> SendDlgMessage(DM_GETFOCUS).

2. экспериментально DN_GOTFOCUS приходит после установки выделения для элементов с флагом DIF_SELECTONENTRY.

3. gcc warning.

--------------------------------------------------------------------------------
drkns 2010-05-14 01:55:38+02:00 - build 1551

1. Mantis#0001380: problem with value setting in hours/minutes field in Filters -> Date/Time -> Relative

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001380: проблема с выставлением значения в поле часов/минут в Filters -> Date/Time -> Relative

--------------------------------------------------------------------------------
drkns 2010-05-14 00:07:38+02:00 - build 1550

1. Excessive activity in taskbar when descriptions displaying is on.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Излишняя активность в панели задач при включенном отображении описаний.

--------------------------------------------------------------------------------
drkns 2010-05-13 17:33:18+02:00 - build 1549

1. Correction of the previous build.

--------------------------------------------------------------------------------
drkns 2010-05-13 15:47:47+02:00 - build 1548

1. Now we've got a window messages processing loop.
  As a consequence, the following magic is available:
  - disk menu and hotplug devices list auto update when usb, cd/dvd etc. are added/removed;
  - environment variables auto update after change in OS settings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Теперь у нас есть цикл обработки оконных сообщений.
   Как следствие, доступна следующая магия:
   - автообновление дискового меню и списка hotplug-устройств при добавлении/удалении usb, cd/dvd и пр.;
   - автообновление переменных окружения при изменении их в настройках ОС.

--------------------------------------------------------------------------------
svs 2010-05-13 16:03:14+03:00 - build 1547

1. + CPM_NATIVE for FSF.ConvertPath()
  Return: full path with "\\?\" prefix
  (from drkns)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. + CPM_NATIVE для FSF.ConvertPath()
   Возвращает полный путь с префиксом "\\?\"
   (from drkns)

--------------------------------------------------------------------------------
drkns 2010-05-13 00:21:42+02:00 - build 1546

1. Event class: a wrapper on HANDLE/Event/WaitForSingleObject.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Класс Event: обёртка над HANDLE/<Create|Set|Reset>Event/WaitForSingleObject.

--------------------------------------------------------------------------------
drkns 2010-05-11 22:53:26+02:00 - build 1545

1. From Anton Sinitsin: "Ё" in FarRus.lng.

2. Documentation and build corrections.

--------------------------------------------------------------------------------
drkns 2010-05-11 15:25:32+02:00 - build 1544

1. Errors in vertical text drawing and dialog size calculation.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ошибки в отрисовке вертикального текста и расчете размеров диалога.

--------------------------------------------------------------------------------
svs 2010-05-11 15:05:18+03:00 - build 1543

1. Minor corrections on menu hotkeys...
  In addition to Upper/Lower, keyboard layout analysis is added (KeyToKeyLayout() call)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Небольшие уточнения про хоткеи в менюхах...
   Кроме Upper/Lower добавлен анализа на раскладку (вызов KeyToKeyLayout())

--------------------------------------------------------------------------------
svs 2010-05-11 09:59:58+03:00 - build 1542

1. Macro: Contents

[A|P]Panel.HostFile, [A|P]Panel.Prefix, [A|P]Panel.Path0, [A|P]Panel.Path,
[A|P]Panel.UNCPath, [A|P]Panel.Current, Editor.SelValue, Editor.Value, Help.FileName,
Help.Topic, Help.SelTopic, Viewer.FileName

  forced cast to "string", which lets to avoid the situation when 0 is returned for empty content.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: Содержимое

      [A|P]Panel.HostFile, [A|P]Panel.Prefix, [A|P]Panel.Path0, [A|P]Panel.Path,
      [A|P]Panel.UNCPath, [A|P]Panel.Current, Editor.SelValue, Editor.Value, Help.FileName,
      Help.Topic, Help.SelTopic, Viewer.FileName

   принудительно приводится к "строке", что позволяет избежать ситуации, когда для пустого
   содержимого возвращается число 0.

   Что у нас еще такого, особенного осталось?

--------------------------------------------------------------------------------
drkns 2010-05-09 23:50:50+02:00

1. From Anton Sinitsin: help "Ё-fication".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. From Anton Sinitsin: "Ёфицирование" хелпа.

--------------------------------------------------------------------------------
svs 2010-05-07 16:24:45+03:00 - build 1541

1. Help. From "Alexey Samlyukov"

2. "@ElevationDlg" is added. this is a stub so far, to prevent error messages

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Help. From "Alexey Samlyukov"

2. Добавлен "@ElevationDlg". Заготовка, дабы не материлосё оно...

--------------------------------------------------------------------------------
drkns 2010-05-06 22:21:32+02:00 - build 1540

1. Milliseconds were not diaplayed in filters by relative time.

2. Forum: "Something strange has appeared at build 1539: a piece of frame remains in the corner after Ctrl-O".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В фильтрах по относительному времени не отображались миллисекунды.

2. С форума: "В билде 1539 появилось странное: после Ctrl-O в углу остаётся кусок рамки".

--------------------------------------------------------------------------------
drkns 2010-05-05 23:16:12+02:00 - build 1539

1. Correction of 1536: for example, when issuing "macro:post F7", indicator disappeared only after any key press.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 1536: при, например, "macro:post F7" индикатор исчезал только после нажатия любой клавиши.

--------------------------------------------------------------------------------
drkns 2010-05-04 23:42:49+02:00 - build 1538

1. Privileges elevation didn't work in symlinks editing.

2. Assembler listing generation is off for VC build by default. It is controlled by ASM_LISTING make flag.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не работало повышение прав при редактировании симлинков.

2. Генерирование ассемблерного листинга для vc-билда по умолчанию выключено. Регулируется флагом ASM_LISTING мейка.

--------------------------------------------------------------------------------
t-rex 2010-05-04 13:53:24+02:00 - build 1537

1. Somewhere in last builds, descriptions started to add '\0' before carriage return which caused different problems with 3rd party description-aware programs.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Где то в последних билдах описания стали записываться с '\0' перед переводом строки
   что приводило к различным проблемам с 3rd party программ для описаний.

--------------------------------------------------------------------------------
drkns 2010-05-03 12:45:16+02:00 - build 1536

1. Problems with Mantis#1362: that "macro execution indication" caused regular screen refreshes.
  Also, 'P' is now green :)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С Mantis#1362 проблемы: эта "индикация выполнения" приводила к постоянным перерисовкам всего экрана.
   Ну и 'Р' теперь зелёного цвета :)

--------------------------------------------------------------------------------
t-rex 2010-05-02 21:46:41+02:00 - build 1535

1. Mantis#1288: Slow processing of network folders in owners view mode.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1288: Медленная работа с сетевыми папками в режиме показа овнеров.

--------------------------------------------------------------------------------
drkns 2010-05-02 19:13:38+02:00 - build 1534

1. Size correction for DIF_CENTERGROUP

2. Another couple of improvements of 1530.2.

3. Mantis#0001356: “Copying” stays in caption after copying finish

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Коррекция размеров для DIF_CENTERGROUP

2. Ещё пара уточнений 1530.2.

3. Mantis#0001356: После копирования в заголовке окна остается "копирование"

--------------------------------------------------------------------------------
drkns 2010-04-30 17:14:30+02:00 - build 1533

1. Another couple of corrections in 1530.2.

--------------------------------------------------------------------------------
svs 2010-04-30 13:20:57+03:00 - build 1532

1. Mantis#0001362: Macro running indication in screen corner ('P').

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001362: Индикация выполнения макроса символом в углу экрана
   Символ 'P'.

--------------------------------------------------------------------------------
drkns 2010-04-30 11:09:22+02:00 - build 1531

2. Correction of 1530.2: DIF_DEFAULT and DIF_FOCUS are used in initialization (DialogDataEx), and elements (DialogItemEx) still use DefaultButton and Focus.

· · · · · · · · · · · · · · · · · · · · · · · · ·

2. Уточнение 1530.2: DIF_DEFAULT и DIF_FOCUS используются в инициализации (DialogDataEx), а в элементах (DialogItemEx) по прежнему DefaultButton и Focus.

--------------------------------------------------------------------------------
drkns 2010-04-30 01:01:01+02:00 - build 1530

1. The color of default button can be set up.

2. As a preparation to API breakup: DefaultButton field in dialog structures is now changed to DIF_DEFAULT, Focus is changed to DIF_FOCUS.
  This is related to internals only, plugins are not affected yet.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Для default button можно задавать цвет.

2. В качестве подготовки к слому API: вместо поля DefaultButton в диалоговых структурах теперь флаг DIF_DEFAULT, вместо Focus - DIF_FOCUS.
   Относится это только к internals, для плагинов всё по старому. Пока.

--------------------------------------------------------------------------------
drkns 2010-04-29 11:38:38+02:00 - build 1529

1. Bringing back empty description files deletion.

2. Flag FMSG_DOWN has gone.

3. Makeup in lng.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Вернём удаление пустых файлов описаний.

2. Флага FMSG_DOWN больше нет.

3. Косметические изменения в lng.

--------------------------------------------------------------------------------
svs 2010-04-29 09:55:53+03:00 - build 1528

1. Macro: eval function is provided with capability of programmatical call of macro bound to a hotkey.
http://forum.farmanager.com/viewtopic.php?f=15&t=5257

  To do this, one must:
  a) set the second parameter of the function to 2
  b) set the first parameter to a string of "Area/Key" format
  Here:
  "Area" is the area which we want to call macro from;
  "/" is a delimiter;
  "Key" is the name of the key.
  "Area/" can be omitted, in this case "Key" is searched in current active macro area,
  and if "Key" is not found, then the search is continued in Common area.
  To switch off the search in Common area (limit it with "this" area only),
  one must pass the dot character as "Area".

  In mode 2 the function returns
  -1 - error
  -2 - no macro on hotkey (or the macro is blocked)
  0 - Ok

  Examples.
  eval("Shell/CtrlP",2) - call a macro assigned to CtrlP in Shell area
  eval("CtrlP",2) - call a macro assigned to CtrlP in current macro area or in Common area if CtrlP is not found in current macro area
 eval("./CtrlP",2) - call a macro assigned to CtrlP in current macro area only
 eval("Shell/Alt/",2) - call a macro assigned to Alt/ in Shell area
 eval("Alt/",2) - call a macro assigned to Alt/ in current macro area or Common if Alt/ is not found in current macro area
 eval("./Alt/",2) - call a macro assigned to Alt/in current macro area only

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: в функцию eval добавлена возможность программного вызова макроса, назначенного на кнопкосочетание
   http://forum.farmanager.com/viewtopic.php?f=15&t=5257

   Для этого
   а) второй параметр функции установить в 2
   б) первым параметром указать строку в формате "Area/Key"
      здесь:
        "Area" - область, из которой хотим вызвать макрос
        "/" - разделитель
        "Key" - название клавиши
      "Area/" можно не указывать, в этом случае поиск "Key" будет вестись в текущей активной макрообласти,
         если в текущей области "Key" не найден, то поиск продолжится в области Common.
         Что бы отключить поиск в области Common (ограничится только "этой" областью),
         необходимо в качестве "Area" указать точку.

   Для режима 2 функция вернет
     -1 - ошибка
     -2 - нет макроса, заданного кпопкосочетанием (или макрос заблокирован)
      0 - Ok

   Примеры.
     eval("Shell/CtrlP",2) - вызвать макрос, навешенный на CtrlP из области Shell
     eval("CtrlP",2) - вызвать макрос, навешенный на CtrlP из текущей макрообласти, если в текущей CtrlP нет, то вызвать из области Common
     eval("./CtrlP",2) - вызвать макрос, навешенный на CtrlP только из текущей макрообласти

     eval("Shell/Alt/",2) - вызвать макрос, навешенный на Alt/ из области Shell
     eval("Alt/",2) - вызвать макрос, навешенный на Alt/ из текущей макрообласти, если в текущей Alt/ нет, то вызвать из области Common
     eval("./Alt/",2) - вызвать макрос, навешенный на Alt/ только из текущей макрообласти

--------------------------------------------------------------------------------
drkns 2010-04-28 00:42:17+02:00 - build 1527

1. For the sake of uniformity, now Message() always reserves space for message text even the text is absent.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В Message() теперь для единообразия всегда резервируется строка под текст сообщения, даже если сам текст отсутствует.

--------------------------------------------------------------------------------
drkns 2010-04-27 19:51:09+02:00 - build 1526

1. Another couple of trifles.

--------------------------------------------------------------------------------
drkns 2010-04-27 16:47:00+02:00 - build 1525

1. More on FindFiles again.

--------------------------------------------------------------------------------
chupakabra 2010-04-27 16:32:00+02:00

1. makefile_vc: Platform=x64 for VS2010.

--------------------------------------------------------------------------------
drkns 2010-04-27 15:47:00+02:00 - build 1524

1. Yet another correction of Message().

2. Changes in DIZ files writing.

3. More on FindFiles.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё одно уточнение в Message().

2. Изменения в записи diz-файлов.

3. Ещё всякое про FindFiles.

--------------------------------------------------------------------------------
drkns 2010-04-26 15:47:00+02:00 - build 1523

1. Correction of dialogs size for Message() function.

2. BOM codepage autodetection didn't work if the file contained nothing except BOM.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение расчета размеров диалогов для функции Message().

2. Неправильно работало определение кодовой страницы по BOM, если кроме BOM в файле ничего не было.

--------------------------------------------------------------------------------
drkns 2010-04-26 00:14:16+02:00 - build 1522

1. As an expansion of Mantis#0001096 - space symbols cutting is removed from another pair of places.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В качестве продолжения Mantis#0001096 - отрезание пробелов убрано ещё из пары мест.

--------------------------------------------------------------------------------
t-rex 2010-04-25 22:48:55+02:00 - build 1521

1. Mantis#1316: Erroneous copying of vertical blocks into clipboard.
  Another inner refactoring of work with clipboard, usual functions are appended with a class, places where sequential clipboard operations are applied need to be rewritten with this class to make things in one transaction.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1316: Ошибка копирования в буфер обмена вертикальных блоков.
   Ещё одна внутренняя переделка работы с клипбордом, теперь кроме обычных функций есть ещё и класс,
   в местах где производятся несколько поочерёдных операций над клипбордом нужно использовать класс напрямую
   чтоб сделать всё "в одну транзакцию".

--------------------------------------------------------------------------------
drkns 2010-04-25 22:38:17+02:00 - build 1520

1. Correction of the previous build.

--------------------------------------------------------------------------------
drkns 2010-04-25 19:55:48+02:00 - build 1519

1. Continuing 953 and 972. Search is reworked. Part three, a global one.

2. Mantis#0001213: Incorrect console caption in file search dialog.

3. Mantis#0001353: Privileges elevation dialog is hidden behind the search window.

4. A new flag is available for DI_BUTTON: DIF_SETSHIELD, analogous to BCM_SETSHIELD.

5. Mantis#0000315: Default buttons highlighting in dialogs.

6. Mantis#0000647: Button styles in the dialogs.

7. Mantis#0001217: !@! metacharacter doesn't work.

8. Some trifles in privileges elevation system.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение начатого в 953 и 972. Перетрях поиска. Часть третья, глобальная.

2. Mantis#0001213: Некорректный заголовок консоли в диалоге поиска файлов.

3. Mantis#0001353: Диалог запроса повышения полномочий скрыт за окном поиска.

4. Для DI_BUTTON доступен новый флаг: DIF_SETSHIELD - "аналог" BCM_SETSHIELD.

5. Mantis#0000315: Подсветка кнопок по умолчанию диалогов.

6. Mantis#0000647: Button styles in the dialogs.

7. Mantis#0001217: Не работает метасимвол !@!.

8. Разные мелочи в системе повышения полномочий.

--------------------------------------------------------------------------------
drkns 2010-04-22 21:11:09+02:00 - build 1518

1. Correction of 1517.5: conversion error warning was displayed even when there was no need in it.

2. Privilege elevation requests are separated logically into "read requests" and "modification requests" and can be switched on/off separately.
  There's no interface so far, the registry only.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 1517.5: предупреждение об ошибке преобразования выводилось и тогда, когда этого не требовалось.

2. Запросы повышения полномочий логически разделены на "запросы чтения" и "запросы модификации" и теперь их можно включать/выключать по отдельности.
   Интерфейса пока что нет, только через реестр.

--------------------------------------------------------------------------------
drkns 2010-04-21 14:47:00+02:00 - build 1517

1. Mantis#0001347: Remove dot in autocompletion.
  Items "." and ".." which are returned by FindFile sometimes are now thrown away at FindFile class level, not in a lot of different places.
  Code which uses FindFile must NOT assume these items presence and fight with them.

2. A portion of warnings from VS2010 static analyzer.

3. When creating folders like \1\2\3\4 the attempts were taken to create each item even if it had existed already.

4. File search doesn't restore last access time.

5. If text conversion errors took place while loading a file into the editor or while codepage switching, then an additional confirmation is requested on saving, + the messages are more verbose now.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001347: Убрать . (точка) при автодолнении.
   Элементы "." и"..", иногда возвращаемые Find<First|Next>File, теперь режутся централизованно на уровне класса FindFile, а не в куче разных мест.
   Код, использующий FindFile, НЕ ДОЛЖЕН предполагать наличие этих элементов и бороться с ними.

2. Порция предупреждений от статического анализатора VS2010.

3. При создании папок вида \1\2\3\4 производились попытки создавать каждый элемент, даже если он уже существовал.

4. Поиск файлов не восстанавливает время последнего доступа.

5. Если при загрузке файла в редактор или при переключении кодовой страницы произошли ошибки преобразования текста - при сохранении будет требоваться дополнительное подтверждение, + соообщения теперь более подробны.

--------------------------------------------------------------------------------
svs 2010-04-21 10:18:10+03:00 - build 1516

1. Correction of build 1515 - one char prefixes are ignored

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение build 1515 - односимвольные префиксы игнорируем

--------------------------------------------------------------------------------
svs 2010-04-21 09:34:16+03:00 - build 1515

1. Mantis#0001338: Prefix in command line parameters (described in help)
from Maximus

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001338: Префикс в параметрах ком.строки
   (описано в хелпе)
   from Maximus

--------------------------------------------------------------------------------
t-rex 2010-04-20 23:56:06+02:00 - build 1514

1. MinGW GCC 4.5.0 support.

2. GCC warnings.

3. Some makeup.

--------------------------------------------------------------------------------
drkns 2010-04-20 00:33:57+02:00 - build 1513

1. Correction of the previous build.

--------------------------------------------------------------------------------
drkns 2010-04-19 16:39:34+02:00 - build 1512

1. Fix of 1371.2.

2. Milliseconds are available in filters.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Поправка к 1371.2.

2. В фильтрах доступны миллисекунды.

--------------------------------------------------------------------------------
svs 2010-04-19 15:51:19+03:00 - build 1511

1. Mantis#0001334: Let plugin change editor caption "forever"
  Now the editor's header set by plugin  (in status line, with ECTL_SETTITLE) isn't reset automatically
  after plugin stop its work (invoked with F11).
  Now plugins have to take care of editor's caption restoration by themselves (Info.EditorControl(ECTL_SETTITLE,NULL)).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001334: Позволить плагину менять заголовок редактора "насовсем"
   Теперь выставленный плагином "заголовок" в редакторе (в статусной строке, посредством ECTL_SETTITLE) не будет автоматом сбрасываться
   после отработки плагина (вызванного по F11).
   Плагины теперь сами должны заботится о восстановлении заголовка редактора (Info.EditorControl(ECTL_SETTITLE,NULL)).

--------------------------------------------------------------------------------
drkns 2010-04-19 10:50:21+02:00 - build 1510

1. Next portion of apiCreateFile/ReadFile/WriteFile/etc. replacement with more intelligent classes. As a consequence, privileges elevation request seems to be fixed in several other operations.

2. When editing the user menu AltF4 wrote excessive byte order marks into temp file (one per each submenu instead one per file).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Очередная порция замены apiCreateFile/ReadFile/WriteFile/etc. более интеллектуальными классами. Как следствие, запрос на повышение привилегий может заработать ещё в некоторых операциях.

2. При редактировании пользовательского меню по AltF4 во временный файл дописывались излишние byte order mark'и (по одному на каждое подменю вместо одного на весь файл).

--------------------------------------------------------------------------------
drkns 2010-04-17 11:44:42+02:00 - build 1509

1. Mantis#0001348: Folder locking by a FAR process after privileges elevation.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001348: Блокировка папки процессом FAR после повышения прав.

--------------------------------------------------------------------------------
drkns 2010-04-17 00:57:46+02:00 - build 1508

1. The editor is cleaned from libc's remains and, as a consequence, it can request file opening/saving privileges.

2. Changes of the same sort in user menu and descriptions.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Редактор очищен от остатков libc и, как следствие, умеет запрашивать привилегии для открытия/сохранения файлов.

2. Изменения того же рода в юзерменю и описаниях.

--------------------------------------------------------------------------------
svs 2010-04-15 14:34:28+03:00 - build 1507

1. Mantis#0001346: Macros assigned to "`" and similar ones work with errors

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001346: Макросы, назначенные на "`" (ё) и подобные работают с ошибками

--------------------------------------------------------------------------------
drkns 2010-04-15 11:34:38+02:00 - build 1506

1. In 1494, system copy feature with "[ ] Copy files opened for writing" was broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В 1494 погнулось системное копирование при "[ ] Copy files opened for writing".

--------------------------------------------------------------------------------
drkns 2010-04-15 11:05:12+02:00 - build 1505

1. Correction of the previous build.

--------------------------------------------------------------------------------
drkns 2010-04-15 10:55:21+02:00 - build 1504

1. If user has administrator rights already, we proceed without additional process launch.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Если пользователь уже обладает правами администратора - обойдемся без запуска дополнительного процесса.

--------------------------------------------------------------------------------
svs 2010-04-13 23:15:33+03:00 - build 1503

1. Macro: bug - crash on [A|P]Panel.HostFile call for non-plugin panel.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: bug - падение, при вызове [A|P]Panel.HostFile для неплагиновой панели.

--------------------------------------------------------------------------------
svs 2010-04-13 14:48:25+03:00 - build 1502

1. Mantis#0001344: Crash on help links follow
  size_t rules :-(
  This fix removes the crash only.
  To "fix the errors" in help the parser has to be edited (which goes beyond the limits of this fix)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001344: Падение при переходе по ссылкам хелпа
   size_t "рулит" :-(
   Этот фикс избавляется только от падения.
   Для "исправления ошибок" хелпов нужно править парсер (выходит за рамки данного исправления)

--------------------------------------------------------------------------------
t-rex 2010-04-13 00:04:24+02:00 - build 1501

1. StrLength(string) -> string.GetLength() in a couple of places.

--------------------------------------------------------------------------------
drkns 2010-04-12 22:54:07+02:00 - build 1500

1. More informative messages on necessary privilege elevation.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Более информативные сообщения при необходимости повышения привилегий.

--------------------------------------------------------------------------------
svs 2010-04-12 17:53:57+03:00 - build 1499

1. The help froze on files with no empty line between sections   (for example, "Regular Expression Search and Replace, version 7.04")

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Вис help на файлах, у которых между секциями отсутствовала пустая строка
   (например, "Regular Expression Search and Replace, version 7.04")

--------------------------------------------------------------------------------
drkns 2010-04-12 16:46:32+02:00 - build 1498

1. Miscellaneous trivia on privileges elevation.

2. CtrlEnd function in dialogs and command line is unified: round-robin items selection is borrowed from command line, selection of appended characters is taken from dialogs.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Всякие мелочи на тему повышения привилегий.

2. Унифицирована работа CtrlEnd в диалогах и комстроке: из комстроки взят круговой перебор вариантов, из диалогов - выделение дописываемого.

--------------------------------------------------------------------------------
svs 2010-04-12 12:38:45+03:00 - build 1497

1. Bug: [A|P]Panel.path0 doesn't return a path
http://forum.farmanager.com/viewtopic.php?p=61218#p61218

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Bug: [A|P]Panel.path0 не возвращает путь
   http://forum.farmanager.com/viewtopic.php?p=61218#p61218

--------------------------------------------------------------------------------
svs 2010-04-12 11:38:27+03:00 - build 1496

1. Mantis#0000830: Incorrect movement calculation in Viewer::Up() function for UTF-8

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000830: Неверный расчет перемещения в функции Viewer::Up() для UTF-8

--------------------------------------------------------------------------------
chupakabra 2010-04-11 23:20:00+02:00 - build 1495

1. A focus moving error is fixed, which appeared in 1444.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Исправлена ошибка перемещения фокуса, внесенная в 1444.

--------------------------------------------------------------------------------
drkns 2010-04-11 02:23:13+02:00 - build 1494

1. Privileges elevation:
  - the query happens only if it's needed (the access is denied via ACL), not for every ERROR_ACCESS_DENIED.
  - file time and “compressed” and “sparse”attributes changing.
  - content search.
  - theoretically, own copy implementation must also work ("[ ] Use system copy routine"). It hasn't been tested thoroughly, be careful.

2. Some API functions (CreateFile/ReadFile/WriteFile/...) are grouped logically into a separate class (File), it is preferable to use it further.

3. CtrlEnd did not function in dialogs when autocompletion was off.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Повышение привилегий:
   - запрос происходит только тогда, когда это действительно надо (доступ запрещён через ACL), а не на каждый ERROR_ACCESS_DENIED.
   - изменение времени файлов и состояния атрибутов "сжатый" и "разреженный".
   - поиск по содержимому.
   - теоретически должна работать и самопальная реализация копирования ("[ ] Use system copy routine"). Особо не тестировалось, соблюдаем осторожность.

2. Некоторые api-функции (CreateFile/ReadFile/WriteFile/...) логически объединены в отдельный класс File, в дальнейшем предпочтительно использовать уже его.

3. Не работал CtrlEnd в диалогах при отключенном дополнении.

--------------------------------------------------------------------------------
svs 2010-04-09 16:32:01+03:00 - build 1493

1. Macro: [A|P]Panel.Path0 - path on real FS (before calling of plugins, which create their own panel)
  The states are similar [A|P]Panel.Path, but they contain the path on real FS.
  If real FS is on the panel, then
[A|P]Panel.Path == [A|P]Panel.Path0
  If this is a plugin's panel, then
[A|P]Panel.Path != [A|P]Panel.Path0

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: [A|P]Panel.Path0 - путь на реальной FS (до вызова плагинов, создающих свою панель)
   Состояния аналогичные [A|P]Panel.Path, но содержать путь реальной FS.
   Если на панели реальная FS, то
     [A|P]Panel.Path == [A|P]Panel.Path0
   Если панель плагиновая, то
     [A|P]Panel.Path != [A|P]Panel.Path0

--------------------------------------------------------------------------------
svs 2010-04-09 09:38:19+03:00 - build 1492

1. Printing module is broken - current folder was not taken into account.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Модуль печати в отвале - не учитывался текущий каталог.

--------------------------------------------------------------------------------
drkns 2010-04-08 15:30:25+02:00 - build 1491

1. Mantis#0001337: Error when reading catalog content.

2. Incorrect owner was displayed for ".." element in panels.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001337: Ошибка при чтении содержимого папки.

2. Для элемента ".." в панелях отображался неправильный владелец.

--------------------------------------------------------------------------------
svs 2010-04-08 11:01:14+03:00 - build 1490

1. Mantis#0000884: Help text is torn when the line is longer than 300 characters.
  Help is refactored into a strings array (TArray)
  Some black magic in TArray regards to sorting.
  Removing junk from help code.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000884: Рвётся текст справки при длине строки больше 300 символов.
   Перевод хелпа на массив строк (TArray)
   Немного шаманства в TArray по поводу сортировки.
   Удаление "мусора" из кода хелпа

--------------------------------------------------------------------------------
drkns 2010-04-08 00:39:10+02:00 - build 1489

1. Mantis#0001336: Error message when opening a catalog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001336: Сообщение об ошибке при открытии каталога.

--------------------------------------------------------------------------------
drkns 2010-04-07 14:04:32+02:00 - build 1488

1. Correction of 1483.

--------------------------------------------------------------------------------
svs 2010-04-07 13:10:41+03:00 - build 1487

1. Mantis#0001335: Incorrect text resource usage

2. Mantis#0001331: Macro function for status line manipulation

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001335: Использование некорректного текстового ресурса

2. Mantis#0001331: Макрофункция для управления статусной строкой

--------------------------------------------------------------------------------
drkns 2010-04-07 11:46:46+02:00 - build 1486

1. Prohibition of path conversion in some apiGetFindDataEx calls seems to be deprecated, so it is removed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Запрет на преобразование пути в некоторых вызовах apiGetFindDataEx вроде бы уже неактуален, посему уберём.

--------------------------------------------------------------------------------
drkns 2010-04-06 20:02:46+02:00 - build 1485

1. Correction of 1483.

--------------------------------------------------------------------------------
svs 2010-04-06 13:41:39+03:00 - build 1484

1. Macro: new function "N=Editor.SetTitle([Title])" sets caption in editor status bar
  It returns 1 - success, 0 - editor is not in focus.
  If the parameter is missing or equals to empty string, then the previous status line value is restored

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: новая функция "N=Editor.SetTitle([Title])" установка заголовка в статусной строке редактора
   Возвращает 1 - успешно, 0 - редактор не в фокусе.
   Если параметр отсутствует или равен пустой строке, то восстанавливается предыдущее значение статусной строки

--------------------------------------------------------------------------------
drkns 2010-04-06 10:35:35+02:00 - build 1483

1. Continuing 1468:
  The following actions can be done with admin privileges:
  - catalog view;
  - getting the attributes;
  - setting the owner.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 1468:
   С полномочиями администратора могут выполняться:
   - просмотр каталогов;
   - получение атрибутов;
   - установка владельца.

2. FindFirstFile/FindNextFile/FindClose логически объединены в отдельный класс FindFile, в дальнейшем предпочтительно использовать уже его.

--------------------------------------------------------------------------------
svs 2010-04-05 18:18:38+03:00 - build 1482

1. Correction of Mantis#0001323

2. Macro: [A|P]Panel.path for plugin panel
http://forum.farmanager.com/viewtopic.php?f=15&t=5254

3. Macro: [A|P]Panel.Prefix - returns none or prefix like plugins do

4. Macro: [A|P]Panel.UNCPath returns (for plugin panel) prefix:[hostfile/]path

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение Mantis#0001323

2. Macro: [A|P]Panel.path для Плагиновой панели
   http://forum.farmanager.com/viewtopic.php?f=15&t=5254

3. Macro: [A|P]Panel.Prefix - возвращает пусто, либо префикса, как их отдают плагины

4. Macro: [A|P]Panel.UNCPath возвращает (для плагиновой панели) prefix:[hostfile/]path

--------------------------------------------------------------------------------
garry 2010-04-03 22:44:32+03:00 - build 1481

1. After 1456, the output of codepages for ANSI plugins was broken (for example, FTP).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. После 1456 отвалился вывод кодовых страниц для ANSI-плагинов (например, FTP).

--------------------------------------------------------------------------------
drkns 2010-04-03 19:30:12+02:00 - build 1480

1. 1479.2: As it proved to be, gcc doesn't support forward enum declaration.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 1479.2: Как выяснилось, gcc не поддерживает forward enum declaration.

--------------------------------------------------------------------------------
drkns 2010-04-03 11:23:56+02:00 - build 1479

1. And once again, Mantis#0001321: DM_MOVEDIALOG: limited range of dialog moving.

2. Makeup in adminmode.?pp

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. И ещё раз Mantis#0001321: DM_MOVEDIALOG: ограниченный диапазон перемещения диалога.

2. Косметика в adminmode.?pp

--------------------------------------------------------------------------------
svs 2010-04-03 11:45:44+03:00 - build 1478

1. Mantis#0000098: wrong messages when trying to create folder/file with prohibited symbols

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000098: неправильные сообщения при попытке создания папки/файла с запрещенными символами

--------------------------------------------------------------------------------
zg 2010-04-03 02:26:08+02:00 - build 1477

1. Mantis#0001329: Forward search with template = $.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001329: Поиск в прямом направлении, шаблон = $.

--------------------------------------------------------------------------------
zg 2010-04-02 11:42:58+02:00 - build 1476

1. in connection with 1219, Ctrl-Shift-Numpad5 in panels is replaced with Ctrl-Alt-Numpad5.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. в связи с 1219 Ctrl-Shift-Numpad5 в панелях заменён на Ctrl-Alt-Numpad5.

--------------------------------------------------------------------------------
svs 2010-04-02 10:29:40+03:00 - build 1475

1. Mantis#0001323: gethotkey(0) returns next symbol ("4" instead of "3", "y" instead of "x")

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001323: gethotkey(0) возвращает следующий по порядку сивол (вместо "3" - "4", вместо "x" - "y")

--------------------------------------------------------------------------------
drkns 2010-04-01 20:00:00+02:00 - build 1474

1. Mantis#0001321: DM_MOVEDIALOG: limited range of dialog moving.
  For relative moving, the coordinates which are equal to -1 do not center the dialog anymore.

2. More compact search dialog items placement.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001321: DM_MOVEDIALOG: ограниченный диапазон перемещения диалога.
   При относительном перемещении координаты, равные -1, больше не центрируют диалог.

2. Более компактное расположение элементов диалога поиска.

--------------------------------------------------------------------------------
drkns 2010-04-01 13:47:00+02:00 - build 1473

1. Correction of 1472.2: distinguish symlink and junction;

2. The creation of hard links can be done with admin privileges.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 1472.2: различаем symlink и junction;

2. Создание жёстких ссылок может выполняться с полномочиями администратора.

--------------------------------------------------------------------------------
svs 2010-04-01 12:56:20+03:00 - build 1472

1. Mantis#0001265: Buffer size and panel caption bug
   Correction of #2 ("When the console width is odd, the header of right panel is displayed incorrectly (at the left panel)")

2. Mantis#0001327: Found links are displayed as folders in search window

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001265: Глюк с размером буфера и заголовком панели
   Утчонение п.2 ("При нечетной ширине консоли заголовок панели (правой) рисуется некорректно (на левой)")

2. Mantis#0001327: В окне поиска найденные связи отображаются как папки

--------------------------------------------------------------------------------
zg 2010-04-01 03:12:18+02:00 - build 1471

1. Mantis#0001322: Search and replace in editor skips empty lines.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001322: Поиск и замена в редакторе пропускает пустые строки.

--------------------------------------------------------------------------------
drkns 2010-03-31 21:52:05+02:00 - build 1470

1. Correction of 1468 - GetLastError() results could be lost.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 1468 - терялись результaты GetLastError().

--------------------------------------------------------------------------------
drkns 2010-03-31 16:29:11+02:00 - build 1469

1. Mantis#0001315: Links are shown as folders in tmp-panel.

2. Mantis#0001321: DM_MOVEDIALOG: dialog limited moving range.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001315: В tmp-панели связи отображаются как папки.

2. Mantis#0001321: DM_MOVEDIALOG: ограниченный диапазон перемещения диалога.

--------------------------------------------------------------------------------
drkns 2010-03-31 15:24:32+02:00 - build 1468

1. 1466 is continued:
  - deleting to recycle bin can be done with admin privileges;
  - progress bar, Cancel, etc. work while copying.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 1466:
   - удаление в корзину может выполняться с полномочиями администратора;
   - при копировании работает индикатор прогресса, отмена и т. п.

--------------------------------------------------------------------------------
t-rex 2010-03-31 01:05:50+02:00 - build 1467

1. Date fields in filter settings dialog switched their places to be more intuitive,
  until we create more comprehensible design of the dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В диалоге настройки фильтра поменял местами поля даты чтоб было более интуитивно,
   пока не придумаем более понятный дизайн диалога.

--------------------------------------------------------------------------------
drkns 2010-03-30 15:44:02+02:00 - build 1466

1. 1465 is continued:
  The following operations can be done with admin privileges:
  - files moving;
  - files copying;
  - reparse points copying/editing.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 1465:
   С полномочиями администратора могут выполняться:
   - перенос файлов;
   - копирование файлов;
   - копирование/редактирование reparse point'ов.

--------------------------------------------------------------------------------
drkns 2010-03-30 00:44:57+02:00 - build 1465

1. Basic support for privileges elevation when working under limited account.

The following operations can be done with admin privileges so far:
  - folders creation;
  - folders deletion;
  - files deletion;
  - attributes setting;
  - symbolic links creation.

  This list will keep growing.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Начальная поддержка повышения полномочий при работе из-под ограниченной учётной записи.

   С полномочиями администратора в данный момент могут быть выполнены следующие операции:
   - создание папок;
   - удаление папок;
   - удаление файлов;
   - установка атрибутов;
   - создание символических ссылок.

   Со временем этот список будет расти.

--------------------------------------------------------------------------------
zg 2010-03-29 04:01:39+02:00 - build 1464

1. Mantis#0001302: When launched with command line parameter, FAR freezes on "black screen" until Enter is pressed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001302: При запуске с параметром ком.строки FAR зависает на "черном экране" до нажатия Enter.

--------------------------------------------------------------------------------
zg 2010-03-29 03:37:49+02:00 - build 1463

1. Mantis#0001310: Run the editor with absolute column given, not screen one (both from plugins and command line).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001310: Запускать редактор с заданной абсолютной колонкой, а не экранной (как из плагинов, так и из комстроки).

--------------------------------------------------------------------------------
zg 2010-03-29 01:55:26+02:00 - build 1462

1. Optimization of 1460. When creating a panel, “show” was done twice and sorting took place. although this was not needed.

2. After 1448, in case of sorting by extension, when sorting by extension is off and folder option is off, the sorting  was unstable.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. оптимизация билда 1460. при создании панели два раза делалось show и сортировалось. хотя не надо ни разу.

2. после 1448 сортировка в случае сортировки по расширению, отключённой сортировки каталогов
   по расширению и отключённой опции папки вначале была неустойчивой.

--------------------------------------------------------------------------------
t-rex 2010-03-28 21:42:53+02:00 - build 1461

1. Mantis#1314: Filters - Date/Time - Relative

--------------------------------------------------------------------------------
chupakabra 2010-03-27 08:20:00+02:00 - build 1460

1. Sorting did not run after FCTL_SETNUMERICSORT and FCTL_SETDIRECTORIESFIRST.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не выполнялась пересортировка после FCTL_SETNUMERICSORT и FCTL_SETDIRECTORIESFIRST.

--------------------------------------------------------------------------------
svs 2010-03-27 08:17:48+03:00 - build 1459

1. Mantis#0001312: When cancelling the editing of the item, there's no need to refresh farmenu.ini
from Maximus

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001312: При отмене редактирования пункта не нужно обновлять файл farmenu.ini
   from Maximus

--------------------------------------------------------------------------------
garry 2010-03-26 16:51:16+03:00 - build 1458

1. Addition to 1456.

--------------------------------------------------------------------------------
drkns 2010-03-26 14:58:23+02:00 - build 1457

1. PgDn in search dialog could lead to stack overflow.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Нажатие PgDn в диалоге поиска могло приводить к переполнению стека.

--------------------------------------------------------------------------------
garry 2010-03-26 15:28:59+03:00 - build 1456

1. A possibility of editing via codepage names interface is added (techinfo #80 is removed);

2. At some contitions, cursor was positioned on wrong record in codepages menu (the menu had been fixed in some build and my boilerplate code in codepages menu started to interfere it);

3. Codepages settings are added to main settings menu;

4. For Russian language, interfering and missing hotkeys in settings menu are fixed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Добавлена возможность редактирования через интерфейс имён кодовых страниц (убрано течинфо #80);

2. При некоторых условиях при открытии меню кодовых страниц курсор позиционировался не на ту запись (в каком то из
   билдов починили меню и сделанные мною в меню кодовых страниц костыли стали мешать);

3. Настройка кодовых страниц добавлена в основное меню настроек;

4. Для русского языка в меню настроек поправлены пересекающиеся и отсутствующие горячие клавиши.

--------------------------------------------------------------------------------
svs 2010-03-26 11:57:54+03:00 - build 1455

1. Bug: far /e filename ShiftEnter AltF9 --> trap.

2. Macro: Clip(N,V) function is provided with the 5-th mode (first parameter) - work with clipboard modes.
N=5
V:
  -1 - what's being used? 1 - Windows clipboard, 2 - inner one
  0 - flip (analogous to $IClip)
  1 - switch to Windows clipboard
  2 - switch to inner clipboard

  Returns the previous value (1 - Windows clipboard, 2 - inner one)

3.

   Fix your macros:

   a) $IClip shall be replaced with Clip(5,0) or Clip(5), because $IClip will be removed.
   b) IClip shall be replaced with Clip(5,-1) (notice that clip() returns 1 or 2), because IClip will be removed.

  2 mentioned "objects" will be removed... say, in 2 months :-)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Bug: far /e имя_файла ShiftEnter AltF9 --> трап.

2. Macro: у функции Clip(N,V) добавлен 5-й режим (первый параметр) - работа с режимами клипборда.
    N=5
    V:
      -1 - что сейчас используется? 1 - виндовый буфер, 2 - внутренний
       0 - flip (аналог $IClip)
       1 - включить виндовый буфер обмена
       2 - включить внутренний буфер обмена

    Возвращает предыдущее значение (1 - виндовый буфер, 2 - внутренний)

3.  <АХТУНГ>

     Исправляйте свои макросы:

       а) $IClip заменить на Clip(5,0) или Clip(5), т.к. $IClip будет удаляться.
       б) IClip заменить на Clip(5,-1) (при этом учесть, что clip() вернет 1 или 2), т.к. IClip будет удаляться.

     указанных 2 "объекта" будут удалены... скажем через 2 месяца :-)

   </АХТУНГ>

--------------------------------------------------------------------------------
svs 2010-03-25 18:38:53+03:00 - build 1454

1. Macro: RCounter constant is added, it contains the current value of $Rep loop operator.
  It is visible in current $Rep (current loop, for nested $Rep), for example

RCounter = undefined
$rep(%i)
...
  RCounter = value for loop "$rep(%i)"
...
$rep(%j)
...
RCounter = value for loop "$rep(%j)"
...
$end
...
RCounter = value for loop "$rep(%i)"
...
$end
RCounter = undefined

  Outside the loop, the constant value is undefined/any/meaningless.

2. Macro: "N=Print(Str)" function is added - display “str” at cursor.
  This is the $Text's analog, but Str can be an expression.
  It always returns 1.

3. Macro: "v = MMode(Action[,Value])" function is added - set/get modes for current macro.
  Analogous to $MMode, but mode  can be an expression.
  Action - what we want to change
  1 - screen lock mode ("DisableOutput")
  "MMode(1,-1)" is like "DisableOutput" state
  Value:
-1 - get (the function returns current value)
0 - off (the function switches Action off and returns previous value)
1 - on (the function switches Action on and returns previous value)
2 - flip (the function toggles Action and returns previous value)

4.

  Fix your macros:

 a) $Text has to be replaced with print() because $Text will be removed.
 b) $Date has to be replaced with print(Date(blablabla or empty)) because $Date will be removed.
 c) "$MMode 1" has to be replaced with "MMode(1,2)" because $MMode will be removed.
 d) "DisableOutput" state has to be replaced with "MMode(1,-1)" function call because "DisableOutput" state (not the macro flag!) will be removed.

  4 mentioned "objects" will be removed... say, in 2 months :-)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: добавлена константа RCounter - содержит текущее значение счетчика оператора цикла $Rep.
   Область видимости - текущий $Rep (для вложенных $Rep - значение для текущего цикла), например

   RCounter = undefined
   $rep(%i)
     ...
     RCounter = значению для цикла "$rep(%i)"
     ...
     $rep(%j)
       ...
       RCounter = значению для цикла "$rep(%j)"
       ...
     $end
     ...
     RCounter = значению для цикла "$rep(%i)"
     ...
   $end
   RCounter = undefined

   За пределами цикла значение константы неопределенное/любое/нет смысла использовать.

2. Macro: Добавлена функция "N=Print(Str)" - вывести содержимое строки str туда, где курсор.
   Аналогична $Text, но параметр Str может быть выражением.
   Возвращает всегда 1.

3. Macro: Добавлена функци "v = MMode(Action[,Value])" - выставить/получить режимы текущего макроса.
   Аналогична $MMode, но параметр mode может быть выражением.
   Action - что хотим поменять
     1 - режим лочки экрана ("DisableOutput")
         "MMode(1,-1)" подобен состоянию "DisableOutput"
   Value  - значение
    -1 - get (функция возвращает текущее значение)
     0 - off (функция выключает Action и возвращает предыдущее значение)
     1 - on  (функция включает Action и возвращает предыдущее значение)
     2 - flip  (функция переключает Action и возвращает предыдущее значение)

4.  <АХТУНГ>

     Исправляйте свои макросы:

       а) $Text заменить на print(), т.к. $Text будет удаляться.
       б) $Date заменить на print(Date(блаблабла или пусто)), т.к. $Date будет удаляться.
       с) "$MMode 1" заменить на "MMode(1,2)", т.к. $MMode будет удаляться.
       d) состояние "DisableOutput" заменить на вызов функции "MMode(1,-1)", т.к. состояние "DisableOutput" (не флаг макроса!) будет удаляться.

     указанных 4 "объекта" будут удалены... скажем через 2 месяца :-)

   </АХТУНГ>

--------------------------------------------------------------------------------
chupakabra 2010-03-23 00:51:00+02:00 - build 1453

1. Numeric sorting function is rewritten.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Переписана функция числовой сортировки.

--------------------------------------------------------------------------------
drkns 2010-03-22 20:18:31+02:00 - build 1452

1. “links” from “mount points” distinction AI is removed in panel columns.
Alas, the performance degrades too much.

2. x64 warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Убираем ИИ, различающий "связи" и "точки монтирования" в колонках панели.
   Увы, сильно страдает производительность.

2. x64 warnings.

--------------------------------------------------------------------------------
chupakabra 2010-03-22 04:03:00+02:00 - build 1451

1. Fix for 1444.

--------------------------------------------------------------------------------
chupakabra 2010-03-22 02:02:00+02:00 - build 1450

1. Mantis#0001301: listbox was not redrawn after DM_LISTUPDATE.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001301: листбокс не перерисовывался после DM_LISTUPDATE.

--------------------------------------------------------------------------------
t-rex 2010-03-22 00:27:43+02:00

1. Correction of 1448.3.

--------------------------------------------------------------------------------
chupakabra 2010-03-21 20:59:00+02:00 - build 1449

1. full file name sorting mode error is fixed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Исправлена ошибка режима сортировки по полному имени.

--------------------------------------------------------------------------------
chupakabra 2010-03-21 20:43:00+02:00 - build 1448

1. Option for displaying catalogs at the beginning of the list when sorting (Ctrl+F12).

2. Plugin API: FCTL_SETDIRECTORIESFIRST, PFLAGS_DIRECTORIESFIRST, SM_NUMSTREAMS, SM_STREAMSSIZE, SM_FULLNAME.

3. Dependencies are fixed in makefile.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Опция для отображения каталогов в начале списке при сортировке (Ctrl+F12).

2. Plugin API: FCTL_SETDIRECTORIESFIRST, PFLAGS_DIRECTORIESFIRST, SM_NUMSTREAMS, SM_STREAMSSIZE, SM_FULLNAME.

3. В makefile поправлены зависимости.

--------------------------------------------------------------------------------
chupakabra 2010-03-21 01:11:00+02:00 - build 1447

1. Mantis#0001081: full file name sorting mode is capable of numeric sorting and sorting groups.

2. Sorting: strings copying is replaced with calling compare functions with explicit indication of lengths of compared strings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001081: режим сортировки по полному имени учитывает числовую сортировку и группы сортировки.

2. Сортировка: заменено копирование строк на вызов функций сравнения с явным указанием длин сравниваемых строк.

--------------------------------------------------------------------------------
drkns 2010-03-20 09:26:41+02:00 - build 1446

1. In 1443, QView was malfunctional.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В 1443 отвалился QView.

--------------------------------------------------------------------------------
chupakabra 2010-03-20 05:46:00+02:00 - build 1445

1. Mantis#0001081: full file name (path) sorting mode.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001081: режим сортировки по полному имени (полному пути) файла.

--------------------------------------------------------------------------------
chupakabra 2010-03-20 04:38:00+02:00 - build 1444

1. Mantis#0001290: Incorrect processing of keys with DIF_NOFOCUS + DIF_BTNNOCLOSE style.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001290: Некорректная обработка нажатий на кнопки со стилем DIF_NOFOCUS + DIF_BTNNOCLOSE.

--------------------------------------------------------------------------------
drkns 2010-03-20 00:42:00+02:00 - build 1443

1. Mantis#0001309: Cancel does not work in “apply attributes” dialog if incorrect owner is entered

2. When invoking folder properties in some OS the file properties could appear for the file with the same name and extension from %pathext%.

3. FCTL_GETCMDLINESELECTEDTEXT returned 1 symbol less than needed.

4. Mass introduction of initialization lists.

5. Some C++0x: introduction of nullptr. For VC2010 it is native, for others it is #define to NULL.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001309: В диалоге применения атрибутов не работает Cancel при вводе неправильного владельца

2. При вызове свойств папки в некоторых ОС могли вызываться свойства файла с тем же именем и расширением из %pathext%.

3. FCTL_GETCMDLINESELECTEDTEXT возвращал на 1 символ меньше, чем надо.

4. Массовое внедрение списков инициализации.

5. Немного C++0x: внедрение nullptr. Для VC2010 - нативно, для остальных - #define на NULL.

--------------------------------------------------------------------------------
t-rex 2010-03-19 12:27:10+02:00 - build 1442

1. Mantis#1308: Build fails in gcc due to incorrect #include (wrong character case).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1308: Не собирается в gcc из-за некорректной инструкции #include (неправильный регистр).

--------------------------------------------------------------------------------
svs 2010-03-19 11:56:32+03:00 - build 1441

1. VK_OEM_102. Correction... 1440

--------------------------------------------------------------------------------
svs 2010-03-19 11:38:51+03:00 - build 1440

1. Processing of VK_OEM_102 is added under name "<>" or "\|" on RT 102-key kbd.
  Now it is '\'.
  A correction for AltGr- (Ctrl-Alt-) is needed ...maybe something else.
  T.S. Welcome!

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Добавлена обработка VK_OEM_102, которая "обозвана" как: "<>" or "\|" on RT 102-key kbd.
   Сейчас это '\'.
   Требуется уточнение для AltGr- (Ctrl-Alt-), ...возможно еще что.
   Т.с. Wелкам!

--------------------------------------------------------------------------------
chupakabra 2010-03-19 04:41:00+02:00 - build 1439

1. Current directory synchronization is broken for plugins with OPIF_REALNAMES (from build 1157).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Поломалась синхронизация текущего каталога для плагинов с OPIF_REALNAMES (из build 1157).

--------------------------------------------------------------------------------
svs 2010-03-18 19:54:06+03:00 - build 1438

1. Mantis#0001307: The result of panel.fexist function
  Now panel.fexist() returns: 0 - no such element, > 0 - position/index of file element on panel.
Filters are not taken into account!

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001307: Возвращаемый результат функции panel.fexist
   Теперь panel.fexist() возвращает: 0 - нет такого элемента, > 0 - позиция/индекс файлового элемента на панели.
   Без учета фильтров!

--------------------------------------------------------------------------------
svs 2010-03-17 16:42:40+03:00 - build 1437

1. Macro: correction of "Panel.Select()".
  Mode=2 and 3 are functional now. These modes can have  ';' ',' or '\r\n' as a divider.
  Example:
Panel.Select(1,1,2,clip(0))
  Select files on passive panel which names are contained in clipboard.

2. FileList::SelectFiles now has an additional parameter (masks) and the function returns the number of processed elements (it is used in macros so far)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: уточнение прототипа "Panel.Select()".
   Теперь работают Mode=2 и 3. Для этих режимов разделителем элементов списка могут быть: ';' ',' и '\r\n'.
   Пример:
     Panel.Select(1,1,2,clip(0))
     На пассивной панели выделить те файлы, имена которых находяться в клипборде.

2. У FileList::SelectFiles теперь доп.параметр (маски) и функция возвращает количество обработанных элементов (пока используется на нужды макросов)

--------------------------------------------------------------------------------
svs 2010-03-16 17:48:46+03:00 - build 1436

1. Keys.hpp
  1) KEY_CTRLMASK is now 0xFFF00000
  2) KEY_LOCKSCREEN is removed
  3) KEY_KILLFOCUS, KEY_GOTFOCUS and KEY_CONSOLE_BUFFER_RESIZE are described
  4) expansion of KEY_MACRO_BASE range

2. SysLog. A constructor is added
CleverSysLog(int Line,const wchar_t *Title);

3. Macro: a prototype is added: "V=Panel.Select(panelType,Action[,Mode[,Items]])"
based on  http://forum.farmanager.com/viewtopic.php?f=15&t=5077
By now, it understands:
panelType - as usual: =0 - active panel, =1 - passive panel.
Action:
  0 - remove selection; return deselected elements count
  1 - select
  2 - invert selection
  3 - restore selection, analogous to Ctrl-M; return restored elements count
Mode:
  0 or absent - do Action for each element
  1 - Items is a number (index)
Items:
 for Mode==0 - ignored;
 for Mode==1:
  Items==0  or absent- do Action for current element
  Items>0 - do Action for the element with index Items
  The function returns elements count, on which Action is performed
  (info on current selected elements count is obtained via [A|P]Panel.SelCount as usual :-)

  The plans are to add Mode=2 and 3 (consider Items as strings - name or mask)

4. Macro: [A|P]Panel.HostFile is added - empty string or plugin panel host file name.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Keys.hpp
   1) KEY_CTRLMASK теперь 0xFFF00000
   2) Удален KEY_LOCKSCREEN - остатки роскоши былой, не используется
   3) "описаны" KEY_KILLFOCUS, KEY_GOTFOCUS и KEY_CONSOLE_BUFFER_RESIZE
   4) расширение диапазона KEY_MACRO_BASE

2. SysLog. Добавлен конструктор
   CleverSysLog(int Line,const wchar_t *Title);

3. Macro: добавлен прототип "V=Panel.Select(panelType,Action[,Mode[,Items]])"
   по мотивам http://forum.farmanager.com/viewtopic.php?f=15&t=5077
   На сегодня умеет:
   panelType - как обычно: =0 - активная панель, =1 - пассивная панель.
   Action:
     0 - снять выделение; возвращает количество элементов с которых сняли выделение
     1 - выделить
     2 - инвертировать
     3 - восстановить выделение, аналог Ctrl-M; возвращает количество восстановленных элементов
   Mode:
     0 или отсутсвует - выполнить действие Action  для всех элементов
     1 - Items является числом - индексом
   Items:
     для Mode==0 - игнорируется
     для Mode==1:
       Items==0 или отсутствует - выполнить действие Action для текущего элемента
       Items>0 - выполнить действие Action для элемента с индексом Items
   Функция возвращает количество элементов, над которыми производилось Action
   (получить инфу о текущем количестве выделенных - как обычно через [A|P]Panel.SelCount :-)

   Планируется добавить Mode=2 и 3 (рассматривать Items как строки - имя или маска)

4. Macro добавлены [A|P]Panel.HostFile - пусто или имя хост-файла плагиновой панели.

--------------------------------------------------------------------------------
drkns 2010-03-10 19:29:31+02:00 - build 1435

1. Mantis#0001297: Storing environment strings in settings

2. Mantis#0001300: Inherit VF_DISABLEHISTORY flag when switching to editor (F6) and vice versa

3. Reparse points date/time was not set in subdireectories.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001297: Сохранение в настройках переменных окружения

2. Mantis#0001300: Наследовать флаг VF_DISABLEHISTORY при переключении в редактор (F6), и наоборот

3. Не устанавливались дата/время у reparse point'ов в подкаталогах.

--------------------------------------------------------------------------------
drkns 2010-03-10 14:20:17+03:00 - build 1434

1. Continuation of 1425 - the owner is available for editing

2. Mantis#1299: SavedDialogHistory: SearchText, ReplaceText

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение 1425 - владелец доступен для редактирования.

2. Mantis#1299: SavedDialogHistory: SearchText, ReplaceText

--------------------------------------------------------------------------------
yjh 2010-03-09 15:52:16+03:00 - build 1433

1. The default mask for archives including .tbz and .txz (new linux distros)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Дефлотная маска для архивов поддерживает .tbz и .txz (новые linux-дистрибутивы)

--------------------------------------------------------------------------------
svs 2010-03-03 17:33:17+03:00 - build 1432

1. CheckFolder() function is renamed to TestFolder(), the names of the return codes are changed accordingly.

2. Macro: A new function: N=testfolder(S) - directory test, returns
  2 - non such one
  1 - not empty
  0 - empty
  -1 - no access
  -2 - error (incorrect parameters or out of memory for temporary buffers)

  Constants:
REGEDIT4

[HKEY_CURRENT_USER\Software\Far2\KeyMacros\Consts]
"TSTFLD_NOTFOUND"=dword:00000002
"TSTFLD_NOTEMPTY"=dword:00000001
"TSTFLD_EMPTY"=dword:00000000
"TSTFLD_NOTACCESS"=dword:FFFFFFFF
"TSTFLD_ERROR"=dword:FFFFFFFE

3. Macro: some test additions in "machine".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Функция CheckFolder() переименована в TestFolder(), соответствующим образом изменены наименование кодов возврата.

2. Macro: Новая функция: N=testfolder(S) - тестирование каталога, возвращает
      2 - нет такого
      1 - не пусто
      0 - пусто
     -1 - нет доступа
     -2 - ошибка (неправильные параметры или не хватило памяти для выделения промежуточных буферов)

   Константы:
     REGEDIT4

     [HKEY_CURRENT_USER\Software\Far2\KeyMacros\Consts]
     "TSTFLD_NOTFOUND"=dword:00000002
     "TSTFLD_NOTEMPTY"=dword:00000001
     "TSTFLD_EMPTY"=dword:00000000
     "TSTFLD_NOTACCESS"=dword:FFFFFFFF
     "TSTFLD_ERROR"=dword:FFFFFFFE

3. Macro: немного тестовых добавок в "машину".

--------------------------------------------------------------------------------
drkns 2010-03-02 18:32:43+02:00 - build 1431

1. An excessive callback in text pasting into input line.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Лишний callback при вставке текста в строку ввода.

--------------------------------------------------------------------------------
drkns 2010-03-01 21:10:08+02:00 - build 1430

1. Potential UB in attributes dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Потенциальное UB в диалоге атрибутов.

--------------------------------------------------------------------------------
svs 2010-03-01 19:00:24+03:00 - build 1429

1. Mantis#0000981: Far crashes after calling a plugin via CallPlugin

2. Macro: function `date' can be called without parameter, in this case the format string "%a %b %d %H:%M:%S %Z %Y" is used.

3. Macro: "$Continue" is added for loops.

4. A bug with shortcuts in editor/viewer:
  a) LCtrl- (where is unassigned shortcut) jumped to the very beginning of the file.
  b) Saving of shortcuts in registry was only possible if 0th element (RCtrl-0) was assigned .

  Here's the Achtung!
  Due to quite old bugs in registry, the content of shortcuts filled with zeros could be saved.
  Therefore, it is recommended to delete ShortXXX values in Editor\LastPositions and Viewer\LastPositions registry keys.
5. For uniformity... the word “Viewer” is removed from Opt.ViOpt.SaveViewerPos and Opt.ViOpt.SaveViewerShortPos.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000981: Far падает, после вызова плагина через CallPlugin

2. Macro: у функции date параметр можно не указывать, в этом случае используется форматная строка "%a %b %d %H:%M:%S %Z %Y"

3. Macro: добавлен "$Continue" - для циклов

4. Бага с шорткатами в редакторе/вьювере:
   а) LCtrl-<N> (где <N> неназначенный шорткат) - прыгал в самое начало файла
   б) Сохранение шорткатов в реестре было возможно только, если был назначен нулевой элемент (RCtrl-0)

   Здесь Ахтунг!
   Из-за весьма ранних багов в реестре могло сохраняться содержимое шорткатов, заполненных нулями.
   Поэтому рекомендуется в реестре Editor\LastPositions и Viewer\LastPositions выкинуть значения ShortXXX

5. Для единообразия... в Opt.ViOpt.SaveViewerPos и Opt.ViOpt.SaveViewerShortPos убрано "слово" Viewer.

--------------------------------------------------------------------------------
drkns 2010-02-28 11:29:36+02:00 - build 1428

1. The histories of command line input, view, folder, dialogs and saved positions are expanded to 512 elements by default.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Истории ввода, просмотра, папок, диалогов и сохранённых позиций расширены до 512 элементов по умолчанию.

--------------------------------------------------------------------------------
yjh 2010-02-28 04:42:01+03:00 - build 1427

1. To 1424 - if you do largeaddressaware, do it for all linkers :)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. К 1424 - если уж делать largeaddressaware, то для всех линкеров :)

--------------------------------------------------------------------------------
drkns 2010-02-28 01:43:09+02:00 - build 1426

1. Fix in 2nd statement in the previous build, to get it work also in ancient OSes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Поправка к 2 пункту предыдущего билда, дабы и в пещерных ОС работало.

--------------------------------------------------------------------------------
drkns 2010-02-27 23:30:38+02:00 - build 1425

1. Addition to 1054.2: CtrlA/F4 in disk menu shows the built-in attributes dialog instead of the system one.

2. The system volume attributes dialog can be invoked from the built-in one.

3. Mantis#0000088: Add "File owner" field.

4. Ibid, the attributes list is appended with "Reparse point".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Добавка к 1054.2: в меню дисков по CtrlA/F4 выводится не системный, а встроенный диалог атрибутов.

2. Из встроенного диалога атрибутов можно вызывать системный.

3. Mantis#0000088: Добавить поле "Владелец файла".

4. Там же в список атрибутов добавлен "Reparse point".

--------------------------------------------------------------------------------
drkns 2010-02-27 19:16:33+02:00 - build 1424

1. Build with /largeaddressaware.

--------------------------------------------------------------------------------
chupakabra 2010-02-27 07:51:00+02:00 - build 1423

1. Mantis#0000840: Low-fragmentation Heap is switched on.
  http://msdn.microsoft.com/en-us/library/aa366750%28VS.85%29.aspx

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000840: включаем Low-fragmentation Heap.
   http://msdn.microsoft.com/en-us/library/aa366750%28VS.85%29.aspx

--------------------------------------------------------------------------------
drkns 2010-02-27 00:07:33+02:00 - build 1422

1. "Lock editing of read-only files" option didn't work.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не работала опция "Lock editing of read-only files".

--------------------------------------------------------------------------------
t-rex 2010-02-26 20:36:01+02:00 - build 1421

1. No need to call apiGetVolumeNameForVolumeMountPoint() for reparse points which are not folders (possibly Mantis#1288).

2. Warning in GCC.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не надо вызывать apiGetVolumeNameForVolumeMountPoint() для репарс поинтов которые не папки (видимо Mantis#1288).

2. Ворнинг в GCC.

--------------------------------------------------------------------------------
drkns 2010-02-24 15:48:25+02:00 - build 1420

1. Continuing elimination of printf.

2. 32-bit FilePositionCache is no more, now there's a 64-bit one everywhere.

3. TI#11 limitations are removed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжаем давить printf.

2. 32-битного FilePositionCache больше нет, теперь везде 64-битный.

3. Убраны ограничения из TI#11 .

--------------------------------------------------------------------------------
svs 2010-02-22 17:10:45+03:00 - build 1419

1. Macro: correction of replace(). It enters an endless loop if Find is an empty string.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: уточнение replace(). Зацикливается, если Find - пустая строка.

--------------------------------------------------------------------------------
drkns 2010-02-22 15:49:34+02:00 - build 1418

1. The continuation of the previous build. Now probably the wolves will be fed and the sheep would remain intact - “./..” items are shown but buggy drivers don't go insane from checking.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение предыдущего билда. Теперь, вероятно, и волки будут сыты, и овцы целы -
   ./.. показываются, но крышу у глючных драйверов от проверок не сносит.

--------------------------------------------------------------------------------
t-rex 2010-02-22 13:53:43+02:00 - build 1417

1. The whole "." and ".." checking stuff is removed.
  It caused different problems to normal users, and all this for the sake of
  someone's possibility to create these real directories on FAT.
  If you do create directories "." and "..", FAR won't show them.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Убрал всю заморочку с проверкой на "." и "..".
   Она приводила к различным проблемам у нормальных пользователей и всё ради того
   чтоб фиг знает кто мог себе создавать такие настоящие папки на фате.
   Если вы всё таки создаёте папки "." и ".." то фар их показывать не будет.

--------------------------------------------------------------------------------
drkns 2010-02-21 21:57:47+02:00 - build 1416

1. A lancet was forgotten inside patient's abdomen in 1413 :)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В 1413 забыли зажим внутри пациента :)

--------------------------------------------------------------------------------
zg 2010-02-21 13:10:12+02:00 - build 1415

1. gcc didn't compile.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. не собиралось gcc.

--------------------------------------------------------------------------------
svs 2010-02-20 22:44:13+03:00 - build 1414

1. Macro: bug: panel.setposidx(0,0,1) returns 0 if the selected file is last on panel

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: bug: panel.setposidx(0,0,1) возвращает 0, если отмеченный файл - последний на панели

--------------------------------------------------------------------------------
drkns 2010-02-20 20:24:44+02:00 - build 1413

1. DETECT_ALT_ENTER mess is thrown away, now 80x25 autosetting works when switching into fullscreen mode.

2. No more ACTL_CONSOLEMODE.

3. “Windowed” state is replaced with “Fullscreen” in macro language.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Выкинуто шаманство с DETECT_ALT_ENTER, теперь автоустановка 80x25 при переключении в полноэкранный режим работает.

2. ACTL_CONSOLEMODE больше нет.

3. Состояние Windowed в макроязыке заменено на Fullscreen.

--------------------------------------------------------------------------------
svs 2010-02-19 17:18:28+03:00 - build 1412

1. Macro: Bug: [A|P]panel.Filter always returns 1, regardless of whether panel filter is on or off
2. Macro: problems with eval()

3. Macro: incorrect work of panel.setposidx()
  Now it works like this:
  Panel.SetPosIdx(0,0,0) - returns coordinates in file array taking the filter into consideration
  Panel.SetPosIdx(0,0,1) - returns coordinates in selected files virtual array taking the filter into consideration

4. “Config” variables related to macros are grouped into one structure.

5. Temporary rule is added: KeyMacros/CallPluginRules:dword (Mantis#1280)
  0 - block macros when invoking the plugin with calling the CallPlugin function, 1 - enable macros (achtung!)
   the default setting is 0 - block
   it is "temporary" to understand how necessary it is.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: Bug: [A|P]panel.Filter всегда выдает 1, независимо от того, включён фильтр на панели или нет

2. Macro: проблемы с eval()

3. Macro: некорректная работа panel.setposidx()
   Теперь вот так:
     Panel.SetPosIdx(0,0,0) - вернет координаты в массиве файлов с учетом фильтра
     Panel.SetPosIdx(0,0,1) - вернет координаты в виртуальном массиве отмеченных файлов с учетом фильтра

4. В Config переменные, относящиеся к макросам, собраны в одну структуру.

5. Добавлено временное правило KeyMacros/CallPluginRules:dword (по мотивам Mantis#1280)
     0 - блокировать макросы при вызове плагина функцией CallPlugin, 1 - разрешить макросы (ахтунг!)
     по умолчанию 0 - блокировать
   "временное" - чтобы понять на сколько это критично.

--------------------------------------------------------------------------------
drkns 2010-02-19 13:47:00+02:00 - build 1411

1. In 1410, copying to plugin panels was broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В 1410 отвалилось копирование на плагиновые панели.

--------------------------------------------------------------------------------
drkns 2010-02-18 23:03:00+02:00 - build 1410

1. Crash if language files are not found.

2. Crash while unloading a plugin while configuration menu is opened.

3. Some more garbage is thrown away from copier.

4. Exceptions: an opportunity is added to pass an exception to external debugger, miscellaneous junk is deleted.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Падение при отсутствии языковых файлов.

2. Падение при выгрузке плагина при открытом меню конфигурации.

3. Выкинуто ещё немного мусора из копира.

4. Исключатор: добавлена возможность передать исключение во внешний отладчик, выкинут разнообразный мусор.

--------------------------------------------------------------------------------
t-rex 2010-02-18 21:28:44+02:00 - build 1409

1. Cosmetic corrections of the previous build.

--------------------------------------------------------------------------------
svs 2010-02-18 20:02:35+03:00 - build 1408

1. Macro: Menu.Select doesn't work when the third parameter (Dir) is not equal to 0.
(how could it work if the direction wasn't taken into account at all :-))

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: функция Menu.Select не работает, если третий параметр (Dir) не равен 0.
   (еще бы оно работало, когда направление не учитывалось совсем :-))

--------------------------------------------------------------------------------
svs 2010-02-18 14:33:53+03:00 - build 1407

1. Mantis#0001286: Add mouse click state
  MsEventFlags constant is added, a bitset (see http://msdn.microsoft.com/en-us/library/ms684239%28VS.85%29.aspx):
DOUBLE_CLICK = 0x0002
The second click (button press) of a double-click occurred.
The first click is returned as a regular button-press event.
MOUSE_HWHEELED = 0x0008
The horizontal mouse wheel was moved.
MOUSE_MOVED = 0x0001
A change in mouse position occurred.
MOUSE_WHEELED = 0x0004
The vertical mouse wheel was moved.

2. Macro: panel.setposidx()
  a) 3-rd optional parameter InSelection is added
N=Panel.SetPosIdx(panelType,Idx[,InSelection])
  if InSelection = 1, then Idx is an index in virtual array of selected visible files
  if InSelection = 0, then Idx is an index in virtual array of selected visible files
  b) now this fulction work only with selected files, considering applied panel filters.
  c) second parameter Idx:
  < 0 - "search" from the end to the beginning
  > 0 - "search" from the beginning to theend
  = 0 - ignore moving, just return the current position (considering the filter)

3. Macro: boolean states [A|P]Panel.Filter are added: "the filter is switched on at active/passive panel"

4. Macro: correction of 1401

5. Added: virtual public Panel::FileInFilter(long idxItem) and Panel::IsSelected(long idxItem)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001286: Добавить состояние кликов мыши
   Добавлена константа MsEventFlags. Набор битов (see http://msdn.microsoft.com/en-us/library/ms684239%28VS.85%29.aspx):
     DOUBLE_CLICK = 0x0002
        The second click (button press) of a double-click occurred.
        The first click is returned as a regular button-press event.
     MOUSE_HWHEELED = 0x0008
        The horizontal mouse wheel was moved.
     MOUSE_MOVED = 0x0001
        A change in mouse position occurred.
     MOUSE_WHEELED = 0x0004
        The vertical mouse wheel was moved.

2. Macro: panel.setposidx()
   a) добавлен 3-й необязательный параметр InSelection
        N=Panel.SetPosIdx(panelType,Idx[,InSelection])
      если InSelection = 1, то Idx - индекс в виртуальном массиве отмеченных видимых файлов
      если InSelection = 0, то Idx - индекс в виртуальном массиве видимых файлов
   b) теперь эта функция работает только с видимыми файлами, с учетом примененных фильтров на панели.
   c) второй параметр Idx:
        < 0 - "искать" от конца в начало
        > 0 - "искать" от начала в конец
        = 0 - игнорировать переход, просто вернуть текущую позицию (естественно  учетом фильтра)

3. Macro: добавлены булевые состояния [A|P]Panel.Filter - "на активной/пассивной панели включен фильтр?"

4. Macro: уточнение 1401

5. Добавлены virtual public Panel::FileInFilter(long idxItem) и Panel::IsSelected(long idxItem)

--------------------------------------------------------------------------------
drkns 2010-02-17 22:22:31+02:00 - build 1406

1. Continuation of #0001273. After1395, various ancient bugs started to disclose themselves.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение #0001273. После 1395 начали проявляться разнообразные древние, присыпанные листьями грабли.

--------------------------------------------------------------------------------
garry 2010-02-17 18:00:27+03:00 - build 1405

1. x64 compilation error in 1400.

--------------------------------------------------------------------------------
svs 2010-02-17 17:49:19+03:00 - build 1404

1. Macro: loading again.
  "...Consider some panel macro. Let's call MacroView and make an error in the macro.
  FAR reports the error, the macro doesn't work anymore, but all other macros except the panel ones cease functioning.
  If the error is in viewer/editor macro, then common macros stop working..."

2. Mantis#0001283: Macros execution domain bug
  Let the manager always force CurrentFrame domain setting.
  Hmm... this ticket can happen again, but only for objects not derived from Frame.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: снова про загрузку.
    "...Имеется какой-либо макрос для панелей. Вызываем MacroView, вносим ошибку в макрос.
    FAR сообщает об ошибке в выражении, этот макрос больше не срабатывает, но перестают работать все макросы, кроме панельных.
    Если ошибка в макросе редактора или viewer-а, то перестают работать common-макросы..."

2. Mantis#0001283: Глюк с областью выполнения макросов
   Пусть манагер всегда принудительно выставляет область для текущего фрейма (CurrentFrame).
   Хмм... возможно повторение этого Инца, но только для тех объектов, кто "не с нами" (не производный от Frame).

--------------------------------------------------------------------------------
drkns 2010-02-16 19:32:46+02:00 - build 1403

1. Correction of FCTL_CLEARSELECTION functioning.

--------------------------------------------------------------------------------
drkns 2010-02-16 13:47:00+03:00 - build 1402

1. Mantis#0000942: far hangs at exit after using of proclist

2. Mantis#0001273: Slow work and excessive network traffic when exploring network shares.

3. FCTL_CLEARSELECTION command is added, it removes selection from panel element. Param1 is a selected element number (0<=Param1<PanelInfo.SelectedItemsNumber).

4. A couple of trivia.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000942: far hangs at exit after using of proclist

2. Mantis#0001273: Медленная работа и излишний сетевой трафик при работе с сетевыми папками.

3. Добавлена команда FCTL_CLEARSELECTION - снять выделение с элемента панели. Param1 - номер выбранного элемента (0<=Param1<PanelInfo.SelectedItemsNumber).

4. Пара мелочей.

--------------------------------------------------------------------------------
svs 2010-02-16 11:05:58+03:00 - build 1401

1. Macro: Now erroneous macros are skipped, while other ones are loaded

2. A little of PROJECT_DI_MEMOEDIT.

3. editor.cpp: a commented code deleted (Editor::ReadFile())

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Макро: теперь ошибки пропускаются (остальные макросы грузяться)

2. Немного PROJECT_DI_MEMOEDIT.

3. В editor.cpp удален лишний кусок закомменченного кода про Editor::ReadFile()

--------------------------------------------------------------------------------
garry 2010-02-15 17:37:17+03:00 - build 1400

1. Crash when processing files with increasing size:
  1. Editor crashed when displaying progress bar for the file which size was increasing
  while opening;
  2. Viewer crashed when displaying progress bar while searching in the file which size was increasing
  while viewing.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Падения при обработке файлов с увеличивающимся размером:
   1. Редактор падал при выводе прогресса для файла, размер которого увеличивается
      в процессе открытия;
   2. Вьювер падал при выводе прогресса в процессе поиска для файла, размер которого
      увеличивается во время просмотра.

--------------------------------------------------------------------------------
t-rex 2010-02-14 00:48:27+02:00 - build 1399

1. Mantis#1274: Incorrect panel filter functioning if folders only are selected.
  In common, there was a flaw in folders processing logic, similar bugs are fixed in search and selection.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1274: Некорректная работа фильтра панелей при выборе только папок.
   Вообще был определённый прокол в логике обработке папок, починились похожие и не очень
   глюки и в поиске и в пометке.

--------------------------------------------------------------------------------
zg 2010-02-14 00:12:02+02:00 - build 1398

1. gcc didn't compile.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. не собиралось gcc.

--------------------------------------------------------------------------------
svs 2010-02-12 18:15:56+03:00 - build 1397

1. Mantis#0001270: MCMD_LOADALL doesn't return an error when it takes place

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001270: MCMD_LOADALL не возвращает ошибку при наличии ошибок

--------------------------------------------------------------------------------
drkns 2010-02-11 14:06:15+02:00 - build 1396

1. Correction of BOM append logic when saving.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение логики добавления BOM при сохранении.

--------------------------------------------------------------------------------
drkns 2010-02-11 13:47:00+02:00 - build 1395

1. Since ConvertNameToReal doesn't use manual analysis of reparse point content, the limitation for network paths is removed.

2. Attributes dialog allows for reparse point content editing for network paths too.

3. Mantis#0000650: FAR doesn't allow to create symlink to root share.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Т.к. в ConvertNameToReal больше не используется ручной анализ содержимого репарс-поинта, уберём оттуда ограничения для сетевых путей.

2. В диалоге атрибутов редактирование содержимого репарс-поинта доступно и для сетевых путей.

3. Mantis#0000650: FAR не дает создать символическую ссылку на корневую шару.

--------------------------------------------------------------------------------
svs 2010-02-12 14:15:21+03:00 - build 1394

1. Incorrect functioning of Info.FSF->FarNameToKey
   http://forum.farmanager.com/viewtopic.php?f=8&t=5058

   Function waits for a string matching the following specifications:
     1. Keys which are defined in structure keyboard.cpp::FKeys1[]
     2. Optional modifiers (Alt/RAlt/Ctrl/RCtrl/Shift) and one character, for example, AltD or CtrlC
     3. "Alt" (or RAlt) and 5 decimal digits (with leading zeros)
     4. "Spec" and 5 decimal digits (with leading zeros)
     5. "Oem" and 5 decimal digits (with leading zeros)
     6. Modifiers only (Alt/RAlt/Ctrl/RCtrl/Shift)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Некорректная работа Info.FSF->FarNameToKey
   http://forum.farmanager.com/viewtopic.php?f=8&t=5058

   Функция ждет строку по вот такой спецификации:
     1. Сочетания, определенные в структуре keyboard.cpp::FKeys1[]
     2. Опциональные модификаторы (Alt/RAlt/Ctrl/RCtrl/Shift) и 1 символ, например, AltD или CtrlC
     3. "Alt" (или RAlt) и 5 десятичных цифр (с ведущими нулями)
     4. "Spec" и 5 десятичных цифр (с ведущими нулями)
     5. "Oem" и 5 десятичных цифр (с ведущими нулями)
     6. только модификаторы (Alt/RAlt/Ctrl/RCtrl/Shift)

--------------------------------------------------------------------------------
drkns 2010-02-11 23:52:09+02:00 - build 1393

1. Mantis#0001271: Dialog: characters which cannot be correctly translated using the selected codepage.

2. Line jump dialog (AltF8) in editor is translated to DialogBuilder.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001271: Диалог: символы, недопустимые в данной кодировке.

2. Диалог перехода (AltF8) в редакторе переведён на DialogBuilder.

--------------------------------------------------------------------------------
svs 2010-02-11 22:26:57+03:00 - build 1392

1. Mantis#0001268:Only first character is inserted into the dialogs filter.
Ctrl-V/Shift-Ins is added (for “we are in the filter” mode only)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001268: В фильтр диалогов вставляется только первый символ
   Добавка Ctrl-V/Shift-Ins (только для режима "мы в фильтре")

--------------------------------------------------------------------------------
svs 2010-02-11 21:57:33+03:00 - build 1391

1. Mantis#0001268: Only first character is inserted into the dialogs filter, which is not surprising looking at the source code :-)

Also, here, in filter, as an experiment :-) the reaction on characher 0x8 (Bs) is added when processing $Text . Is it useful?

2. Mantis#0001266: Far crashes when parsing a macro
I have forgot about double quotes... :-(
ULF_NOTUNQUOTES flag is added to UserDefinedList class.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001268: В фильтр диалогов вставляется только первый символ
   ...что не мудрено, судя по коду :-)

   И да, здесь, в фильтре, в качестве эксперимента :-) при обработке $Text добавлена реакция на символ 0x8 (Bs). Нада?

2. Mantis#0001266: Far падает при разборе Macro
   А про двойные кавычки я и забыл... :-(
     В класс UserDefinedList добавлен флаг ULF_NOTUNQUOTES

--------------------------------------------------------------------------------
drkns 2010-02-11 13:47:00+02:00 - build 1390

1. Mantis#0001269: macro is not specified in message about incorrect macro at Far start.

2. Excessive call of callback functions when replacing block in input line.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001269: Не указан макрос в сообщении о неверном макросе при загрузке Фара

2. Лишний вызов callback-функций при замене блока в строках ввода.

--------------------------------------------------------------------------------
drkns 2010-02-11 01:15:24+02:00 - build 1389

1. In 1381, right mouse clicks on functional keys line didn't work.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В 1381 отвалились клики правой кнопкой мыши по линейке функциональных клавиш.

--------------------------------------------------------------------------------
zg 2010-02-10 22:13:45+02:00 - build 1388

1. Regexp: error in upper limit calculation in ranges given as \xyyyy.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. в регэкспах - ошибка в обработке верхней границы в диапазонах, заданной в виде \xyyyy.

--------------------------------------------------------------------------------
drkns 2010-02-10 15:04:39+02:00 - build 1387

1. Alt- processing in completion list.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Обрабатываем Alt-<Left|Right|Home|End> в списке дополнения.

--------------------------------------------------------------------------------
svs 2010-02-10 12:55:31+03:00 - build 1386

1. Warnings

2. Macro: MCMD_CHECKMACRO - successful macro check code initialization.
It is important that ActlKeyMacro.Param is an union and Param.PlainText.SequenceText is overwritten after processing of MCMD_CHECKMACRO, thus Far returns Param.MacroResult.*

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Варнинги

2. Macro: MCMD_CHECKMACRO - инициализация кода успешного чекинья макроса
   Здесь нужно понимать, что ActlKeyMacro.Param - это union и что Param.PlainText.SequenceText затрется после отработки MCMD_CHECKMACRO, т.е.
   Far вернет Param.MacroResult.*

--------------------------------------------------------------------------------
drkns 2010-02-10 00:57:46+02:00 - build 1385

1. Incorrect focus positioning in codepages menu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Некорректное позиционирование фокуса в меню кодовых страниц.

--------------------------------------------------------------------------------
zg 2010-02-09 17:59:01+02:00 - build 1384

1. ESPT_SETBOM and EOPT_BOM are added to API.

2. Additionally, the situation is fixed: file without BOM is opened in editor, then deleted and saved, and the result is file without BOM.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. в апи добавлены ESPT_SETBOM и EOPT_BOM.

2. по дороге исправлена ситуация когда открыли в редакторе файл без бом, удалили, сохранили, в итоге файл с бом.

--------------------------------------------------------------------------------
svs 2010-02-09 18:02:24+03:00 - build 1383

1. Continuing MCMD_CHECKMACRO hacking.
- line and column start from 0 for plugins, as expected
- MPEC_EXPECTED is replaced with more readable MPEC_EXPECTED_TOKEN
- KSFLAGS_SILENTCHECK flag is added: when it is checked, Far does not show dialog.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжаем мучить MCMD_CHECKMACRO.
   - строка и позиция для плагинов начинается с 0, как и положено
   - MPEC_EXPECTED заменена на удобочитаемую MPEC_EXPECTED_TOKEN
   - добавлен флаг KSFLAGS_SILENTCHECK - при чекании Far должен молчать (не выводить диалог)

--------------------------------------------------------------------------------
drkns 2010-02-09 15:04:21+02:00 - build 1382

1. Corrections of dialog elements coloring.

2. Makeup in macro keys assignment dialog source code.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнения раскраски диалоговых элементов.

2. Косметика в коде диалога назначения макроклавиш.

--------------------------------------------------------------------------------
svs 2010-02-09 12:50:38+03:00 - build 1381

1. Macro: macros on F1: "msgbox(akey(1))"
when pressed in panels, dialogs etc, in works adequately.
when pressed in menu, the result is the button which invoked the menu, not F1.

2. MCMD_CHECKMACRO is “published”, it returns ActlKeyMacro.Param.MacroResult
struct
{
DWORD ErrCode; // error code (see FARMACROPARSEERRORCODE)
COORD ErrPos; // line and column where parser has found the error
const wchar_t *ErrSrc; // word that caused the error, it can be empty depending on the error code
} MacroResult;

3. Mantis#0001266: Far crashes during macro parsing
I have forgot that UserDefinedList doesn't accept 1 value (one line macro in this case)
The stubs have been placed, but...
TODO: rewrite UserDefinedList to make it act as one-element array if needed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: макрос на F1 "msgbox(akey(1))"
          жмём в панелях, диалогах и т.п. - работает адекватно.
          жмём в меню - видим не F1, а кнопку, вызвавшую это меню.

2. "Опубликован" MCMD_CHECKMACRO, возвращает ActlKeyMacro.Param.MacroResult
     struct
     {
       DWORD ErrCode;  // код ошибки (see FARMACROPARSEERRORCODE)
       COORD ErrPos; // строка и позиция в строке, где парсер нашел ошибку
       const wchar_t *ErrSrc; // "слово" вызвавщее ошибку, может быть пустым в зависимости от кода ошибки
     } MacroResult;

3. Mantis#0001266: Far падает при разборе Macro
   Забыл, что UserDefinedList не берет на грудь 1 значение (в данном случае однострочный макрос)
   Затычки поставлены, но...
     TODO: переделать UserDefinedList, чтобы мог изображать из себя массив из одного элемента.

--------------------------------------------------------------------------------
drkns 2010-02-09 10:51:57+02:00 - build 1380

1. Correction of mouse processing in dialogs.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение обработки мыши в диалогах.

--------------------------------------------------------------------------------
drkns 2010-02-09 09:39:19+02:00 - build 1379

1. Fix of 1378.2.

--------------------------------------------------------------------------------
drkns 2010-02-08 19:07:17+02:00 - build 1378

1. Continuation of 1367.

2. Another pair of trivia.

--------------------------------------------------------------------------------
svs 2010-02-08 17:26:40+03:00 - build 1377

1. Macro: PANEL.ITEM alias is added for PANELITEM function (for uniformity in naming)

2. Macro: parser correction.

3. ULF_NOTTRIM flag is added to UserDefinedList - to preserve space symbols.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: добавлен "алиас" PANEL.ITEM для функции PANELITEM (для единообразия в названии)

2. Macro: уточнение парсера.

3. В UserDefinedList добавлен флаг ULF_NOTTRIM - дабы не резать пробелы.

--------------------------------------------------------------------------------
drkns 2010-02-08 16:03:25+02:00 - build 1376

1. Correction of the trick introduced in 1205: window size is restored only if it had been decreased after getting the focus.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение трюка, введённого в 1205: восстанавливаем размеры окна только если после получения фокуса они были уменьшены.

--------------------------------------------------------------------------------
drkns 2010-02-08 11:18:56+02:00 - build 1375

1. Mantis#0001264: show deletion progress percentage in caption.

2. 'Skip all' choice didn't work in decryption confirmation dialog.

3. Error in metacharacters processing.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001264: выводить процент выполнения удаления в заголовке.

2. В диалоге подтверждения расшифрования не работал выбор 'Skip all'.

3. Ошибка при обработке метасимволов.

--------------------------------------------------------------------------------
drkns 2010-02-06 15:10:19+02:00 - build 1374

1. Completion is switched off while FCTL_CMDLINE is processed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При обработке FCTL_<SET|INSERT>CMDLINE отключаем дополнение.

--------------------------------------------------------------------------------
drkns 2010-02-05 20:42:59+02:00 - build 1373

1. Correction of plugin panel closing logic.

2. Mantis#0001259: file panel is not redrawn after folder change.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение логики закрытия плагиновой панели.

2. Mantis#0001259: неперерисовка файловой панели после смены папки.

--------------------------------------------------------------------------------
drkns 2010-02-04 20:48:39+02:00 - build 1372

1. User menu items deletion broken in 1369.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В 1369 отвалилось удаление пунктов пользовательского меню.

--------------------------------------------------------------------------------
drkns 2010-02-03 21:23:01+02:00 - build 1371

1. Middle mouse button works as Enter again in panels, help and menus.
Always. There's no option, because of macros.

2. Mouse processing in help is changed a bit.

3. xn are changed, now the third parameter is a destination size.

4. Error in oldfar::ESPT_GETWORDDIV.

5. gcc warning.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. По просьбам телезрителей средняя кнопка мыши вновь работает как Enter в панелях, справке и меню.
   Причём всегда. Опции нет, ибо есть макросы.

2. Несколько переделана обработка мыши в справке.

3. x<wcs|str>n<cpy|cat> изменены, теперь третий параметр - размер приёмника.

4. Ошибка в oldfar::ESPT_GETWORDDIV.

5. gcc warning.

--------------------------------------------------------------------------------
drkns 2010-02-03 15:08:26+02:00 - build 1370

1. If element was selected from commands history, useless autocompletion was invoked.

2. Deprecated BlockExtKey entries are removed.

3. File search does not crash anymore on F11, also task list is now available there.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При выборе элемента из истории команд вызывалось ненужное в этом случае дополнение.

2. Убраны неактуальные BlockExtKey.

3. Поиск файлов больше не падает при нажатии F11, также там теперь доступен список задач.

--------------------------------------------------------------------------------
drkns 2010-02-02 20:36:50+02:00 - build 1369

1. Fix for 1366.

2. Getting rid of *printf.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Поправка к 1366.

2. Продолжаем давить *printf.

--------------------------------------------------------------------------------
chupakabra 2010-02-02 16:20:00+02:00 - build 1368

1. Incorrect date display for folders on plugin panel.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Некорректно отображалась дата для папок на панели плагина.

--------------------------------------------------------------------------------
drkns 2010-02-01 23:28:33+02:00 - build 1367

1. Fix in 1366.

--------------------------------------------------------------------------------
drkns 2010-02-01 21:44:16+02:00 - build 1366

1. From Alexey Samlyukov: if hlf file contained ".Options" section, ".PluginContents" section wasn't processed.

2. Input lines are provided with mouse selection capability. It has nothing to do with editor so far.

3. Clickable arrow is drawn on the right side of command line, as in dialogs combobox.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. From Alexey Samlyukov: при наличии в hlf-файле секции ".Options" не учитывалась секция ".PluginContents".

2. В строках ввода работает выделение текста мышью. К редактору это пока не относится.

3. С правого края командной строки отображается кликабельная стрелка, по аналогии с комбинированным списком в диалогах.

--------------------------------------------------------------------------------
drkns 2010-01-31 20:56:38+02:00 - build 1365

1. Panels were not redrawn after filters switch on.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не обновлялись панели после применения фильтров.

--------------------------------------------------------------------------------
svs 2010-01-31 17:57:22+03:00

1. Mantis#0000986: Far 2 API - pascal

--------------------------------------------------------------------------------
drkns 2010-01-31 16:37:49+02:00 - build 1364

1. Plugin panels did not show elements packed size.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В плагиновых панелях не показывался упакованный размер элементов.

--------------------------------------------------------------------------------
drkns 2010-01-30 20:09:48+02:00 - build 1363

1. Mantis#0001257: File sharing violation when attempting to open Editor from Viewer.

--------------------------------------------------------------------------------
drkns 2010-01-29 22:29:05+02:00 - build 1362

1. After 597, panel elements sorting in plugins was broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. После 597 поломалась плагиновая сортировка элементов панели.

--------------------------------------------------------------------------------
drkns 2010-01-29 21:01:29+02:00 - build 1361

1. Once more about macros and completion.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё раз о макросах и дополнении.

--------------------------------------------------------------------------------
drkns 2010-01-28 18:47:28+02:00 - build 1360

1. Panel plugins menu could be invoked with F11.

2. To all macro addicts: autocompletion list now has its own range - "AutoCompletion".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В диалогах по F11 могло вызываться панельное меню плагинов.

2. Любителям макросов: у списка автодополнения теперь своя область - "AutoCompletion".

--------------------------------------------------------------------------------
svs 2010-01-28 16:45:53+03:00 - build 1359

1. Macro: Incorrect AKey()/$AKey work.

--------------------------------------------------------------------------------
drkns 2010-01-28 11:27:44+02:00 - build 1358

1. Mantis#0001256: When text is entered in command line, PanelTabs plugin tabs are erased.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001256: При наборе текста в командной строке стираются закладки плагина PanelTabs

--------------------------------------------------------------------------------
t-rex 2010-01-27 21:59:14+02:00 - build 1357

1. Mantis#1255: “far /v -” does not respond.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1255: Фар виснет при запуске far /v -

--------------------------------------------------------------------------------
chupakabra 2010-01-26 19:57:00+02:00 - build 1356

1. From Maximus: Mantis#0001117: Incorrect file selection with mouse button while scrolling.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. From Maximus: Mantis#0001117: Ошибочная пометка файлов кнопкой мышки при прокрутке.

--------------------------------------------------------------------------------
chupakabra 2010-01-26 19:34:00+02:00 - build 1355

1. FSF.GetDirList now returns full pathnames.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. FSF.GetDirList теперь возвращает полные пути к файлам.

--------------------------------------------------------------------------------
chupakabra 2010-01-24 18:15:00+02:00 - build 1354

1. Mantis#0001251: Incorrect optical drive type display.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001251: Некорректный показ типа оптического привода.

--------------------------------------------------------------------------------
yole 2010-01-23 14:15:00+03:00 - build 1353

1. In Alt-F1/Alt-F2 menu, F9 shows display modes configuration dialog, which is all Ctrl+digits together. Also, the menu is provided with help on available keys.

2. CD-ROM type display is on by default.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В меню Alt-F1/Alt-F2 клавиша F9 показывает диалог для настройки режимов отображения меню -
   чтобы не перебирать Ctrl-циферки. Также в меню добавлена подсказка по доступным клавишам.

2. Включим показ типа CD-ROM по дефолту.

--------------------------------------------------------------------------------
svs 2010-01-22 17:15:01+03:00 - build 1352

1. Mantis#0001201: In Far 2, go to URL does not work

2. Correction in URL help (section "@PluginsReviews")

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001201: В Far 2 не работает переход на URL

2. Уточнение в хелпе URL`ов (раздел "@PluginsReviews")

--------------------------------------------------------------------------------
svs 2010-01-22 14:46:29+03:00 - build 1351

1. Mantis#0001240: Outer editor is not started if its path contains spaces and prepended with “@” symbol.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001240: Внешний редактор не запускается если путь к нему содержит пробелы и предварён символом @

--------------------------------------------------------------------------------
drkns 2010-01-22 00:40:31+02:00 - build 1350

1. A couple of autocompletion details.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Пара мелочей по автодополнению.

--------------------------------------------------------------------------------
chupakabra 2010-01-20 21:19:00+02:00 - build 1349

1. Error in FarGetDirList, it caused non-working catalog contents copy in TmpPanel.

2. ACTL_QUIT didn't work if a menu was open.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ошибка в FarGetDirList. Из-за этого не работало копирование содержимого каталогов в TmpPanel.

2. ACTL_QUIT не срабатывала если было открыто меню.

--------------------------------------------------------------------------------
chupakabra 2010-01-20 08:05:00+02:00 - build 1348

1. ACTL_QUIT - terminates Far.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. ACTL_QUIT - завершает работу Far.

--------------------------------------------------------------------------------
chupakabra 2010-01-20 07:38:00+02:00 - build 1347

1. On win2k, QueryDosDevice() gives an error when buffer size if large. apiQueryDosDevice() is added.

2. UnicodeString::SubStr().

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Под win2k QueryDosDevice() выдает ошибку при большом размере буфера. Добавлена apiQueryDosDevice().

2. UnicodeString::SubStr().

--------------------------------------------------------------------------------
zg 2010-01-19 22:58:11+02:00 - build 1346

1. "&" symbol is not displayed in completion.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. в списке дополнений не отображается символ "&".

--------------------------------------------------------------------------------
svs 2010-01-18 10:26:51+03:00

1. Mantis#0001246: Build fails in gcc on Linux. Incorrect include in edit.cpp

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001246: Не собирается в gcc под Linux'ом. Некорректный include в edit.cpp

--------------------------------------------------------------------------------
svs 2010-01-17 21:26:17+03:00 - build 1345

1. Mantis#0001242: Incorrect AKey$ work
$AKey now returns really pressed keys which caused the macro

2. Mantis#0001239: Keypress returning with AKey considers the current layout
An optional akey() parameter is added
V=akey(Mode[,Type])
Mode = 0 - number
1 - string
Type = 0 - returns really pressed keys which caused the macro
1 - returns the hotkey which macro is assigned on.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001242: Некорректная работа AKey$
   $AKey теперь возвращает реально-нажатое сочетание, которым вызывался макрос

2. Mantis#0001239: Получение через AKey нажатой клавиши с учетом раскладки клавиатуры
   Добавлен необязательный параметр функции akey()
     V=akey(Mode[,Type])
       Mode = 0 - число
              1 - строка
       Type = 0 - возвращает реально-нажатое сочетание, которым вызывался макрос
              1 - возвращает клавишу, на которую назначен макрос.

--------------------------------------------------------------------------------
yole 2010-01-17 00:20:00+03:00 - build 1344

1. Learning to recognize BD-ROM drives in Alt-F1/Alt-F2.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Научимся узнавать BD-ROM драйвы в Alt-F1/Alt-F2.

--------------------------------------------------------------------------------
yole 2010-01-16 18:50:00+03:00 - build 1343

1. DialogBuilder supports two-column layout of controls.

2. Moving viewer and editor configuration to DialogBuilder.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. DialogBuilder поддерживает layout control'ов в две колонки.

2. Переведём настройки viewer-а и редактора на DialogBuilder.

--------------------------------------------------------------------------------
yole 2010-01-16 14:45:00+03:00 - build 1342

1. Continuing DialogBuilder refactoring in order to use it in plugins.

2. Number edit fields created with DialogBuilder are automatically provided with numbers-only mask.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжаем рефакторить DialogBuilder с целью его использования в плагинах.

2. Для полей ввода числовых значений, создаваемых при помощи DialogBuilder,
   автоматически выставляется маска, разрешающая вводить только цифры.

--------------------------------------------------------------------------------
drkns 2010-01-16 12:39:15+02:00 - build 1341

1. Forum: "Bug in editor replace".
It appears to be lasting since #498.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: "Глюк с заменой в редакторе".
   Тянется вроде как ещё с 498 билда.

--------------------------------------------------------------------------------
drkns 2010-01-16 00:42:36+02:00 - build 1340

1. #1338 is continued.

--------------------------------------------------------------------------------
drkns 2010-01-15 07:57:05+02:00 - build 1339

1. Querying the needed privileges incorrectly at symlinks creation.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При создании символических ссылок некорректно запрашивались требуемые привилегии.

--------------------------------------------------------------------------------
drkns 2010-01-14 20:45:19+02:00 - build 1338

1. regressions of #1337 are fixed.

--------------------------------------------------------------------------------
drkns 2010-01-13 20:42:34+02:00 - build 1337

1. Filenames ending with dot were shown incorrectly in panel modes with extensions alignment switched on.

2. Refactoring. Copypaste related to completion is removed. Consequences are expected, so be careful.

3. x64 warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Имена файлов, оканчивающиеся на точку, неправильно отображались в режимах панели с включенным выравниванием расширений.

2. Рефакторинг. Удалена связанная с дополнением копипаста. Возможны последствия, соблюдаем осторожность.

3. x64 warnings.

--------------------------------------------------------------------------------
drkns 2010-01-13 19:22:50+02:00 - build 1336

1. And TreeCmp again, more correct variant.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. И снова TreeCmp, более правильный вариант.

--------------------------------------------------------------------------------
t-rex 2010-01-12 23:07:52+02:00 - build 1335

1. FarDialogItem.Param.ListPos is now set centrally when any structure is “got” from Far.
Buggy plugins based on assumption that FarDialogItem.Param.ListItems is set will be broken.
These cases are asked to inform about, although this shouldn't hapen.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. FarDialogItem.Param.ListPos теперь централизовано выставляется при всех "получениях" структуры от фара.
   Кривые плагины которые надеялись что будет выставлен FarDialogItem.Param.ListItems полетят.
   О таких случаях в анси плагинах просьба сообщать, хотя быть такое не должно.

--------------------------------------------------------------------------------
svs 2010-01-12 11:53:24+03:00 - build 1334

1. Tree. Sorting function TreeCmp rollback to the previous revision (3917) (was in build #1295)

2. Corrections in SysLog`s

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Дерево. Откат функции сортировки TreeCmp на предыдующую ревизию (3917) (было в build 1295)

2. Уточнения SysLog`ов

--------------------------------------------------------------------------------
drkns 2010-01-11 20:07:38+02:00 - build 1333

1. Projects dependencies are fixed.

2. DIF_EDITPATH/FIB_EDITPATH in api.

3. Text in input lines sometimes appeared to be drawn to the left of X1 and was not displayed.

4. Some makeup.

5. Corrections of Help.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Поправлены зависимости в проектах.

2. DIF_EDITPATH/FIB_EDITPATH в api.

3. Текст в строках ввода иногда оказывался левее X1 и не отображался.

4. Разные косметические мелочи.

5. Уточнения справки.

--------------------------------------------------------------------------------
chupakabra 2010-01-11 02:28:00+02:00 - build 1332

1. “const” in plugin api.

--------------------------------------------------------------------------------
drkns 2010-01-11 01:19:27+02:00 - build 1331

1. Mantis#0000848: Find Folder: incorrect “*” symbol handling.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000848: Find Folder: неправильная обработка символа *.

--------------------------------------------------------------------------------
t-rex 2010-01-10 23:55:43+02:00 - build 1330

1. Getting rid of NM in plugin.hpp.

2. GCC warning.

--------------------------------------------------------------------------------
drkns 2010-01-10 23:39:29+02:00 - build 1329

1. Forum: Find Folder: incorrect tree displaying in Far 2.

2. x64 warnings.

3. gcc build.

4. Changes in completion.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. C форума: Find Folder: неправильная отрисовка дерева в Фар 2.

2. x64 warnings.

3. gcc сборка.

4. Устаканивание дополнения.

--------------------------------------------------------------------------------
yole 2010-01-10 18:50:00+03:00 - build 1328

1. The beginning of DialogBuilder big refactoring, which allows one API for dialogs contruction both in FAR and plugins.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Начало большого рефакторинга DialogBuilder'а, позволяющего использовать один и тот же
   API для построения диалогов и в самом FAR'е, и в его плагинах.

--------------------------------------------------------------------------------
drkns 2010-01-09 14:17:27+02:00 - build 1327

1. Rolling FarDialogItem.MaxLen back )

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Вернём обратно FarDialogItem.MaxLen )

--------------------------------------------------------------------------------
drkns 2010-01-09 13:51:28+02:00 - build 1326

1. DWORD Reserved2 -> DWORD_PTR Reserved2.

--------------------------------------------------------------------------------
drkns 2010-01-09 12:59:15+02:00 - build 1325

1. FarDialogItem.MaxLen is replaced with DWORD Reserved2. Must be 0.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Вместо FarDialogItem.MaxLen теперь DWORD Reserved2. Должен быть равен 0.

--------------------------------------------------------------------------------
drkns 2010-01-08 22:51:39+02:00 - build 1324

1. Logical extension of 1277 - synchronize CurrentDirectory only if non-Unicode plugins are present.

2. DIF_NOTCVTUSERCONTROL is removed + some makeup in wrapper.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Логическое продолжение 1277 - синхронизируем CurrentDirectory только если есть неуникодные плагины.

2. Прибит DIF_NOTCVTUSERCONTROL + мелкая косметика во враппере.

--------------------------------------------------------------------------------
drkns 2010-01-08 18:00:43+02:00 - build 1323

1. Mantis#0001238: Incorrect replacement highlighting in editor.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001238: Неправильная подсветка при замене в редакторе.

--------------------------------------------------------------------------------
t-rex 2010-01-08 13:54:21+02:00 - build 1322

1. vc compilation for 1321.

--------------------------------------------------------------------------------
zg 2010-01-08 13:46:03+02:00 - build 1321

1. Lost files in 1320.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. забытые файлы в 1320.

--------------------------------------------------------------------------------
zg 2010-01-08 13:30:56+02:00 - build 1320

1. File rewrite dialog has GUID {9FBCB7E1-ACA2-475d-B40D-0F7365B632FF}.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. диалог перезаписи файла имеет идентификатор {9FBCB7E1-ACA2-475D-B40D-0F7365B632FF}.

--------------------------------------------------------------------------------
drkns 2010-01-08 01:30:08+02:00 - build 1319

1. Some more autocompletion + the beginning of configuration.

2. All autoconfigured-in-build files are placed now in separate directory.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё всякое по автодополнению + зачатки конфигурации.

2. Все автогенерируемые во время сборки файлы теперь складываются в отдельный каталог, дабы не маячили.

--------------------------------------------------------------------------------
zg 2010-01-07 18:21:09+02:00 - build 1318

1. LIF_USETEXTPTR and MIF_USETEXTPTR are removed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. убиты LIF_USETEXTPTR и MIF_USETEXTPTR.

--------------------------------------------------------------------------------
zg 2010-01-07 17:44:21+02:00 - build 1317

1. `const' in plugin api.

2. GetComputerNameEx in gcc.

--------------------------------------------------------------------------------
svs 2010-01-07 17:12:00+03:00 - build 1316

1. Some changes in InfoList. Using absolute Y coordinates instead of relative ones.

2. Correction for subst-volumes - the info had been shown from parent root.
Instead of strDriveRoot, gotten from GetPathRoot, we'll apply ExtractPathRoot(strCurDir), because GetPathRoot tries to unwind everything completely.

3. InfoPanel settings are provided with "Computer name display format" option (which is described in help).
Now we should invent a sane name (according to the description) for these combobox items :-)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Немного пересобрал InfoList. Вместо абс.указываемых координат Y используются относительные.

2. Уточнение для subst-дисков - ранее показывалась инфа от родительского корня.
   вместо strDriveRoot, полученного из GetPathRoot, применим ExtractPathRoot(strCurDir), ибо
   GetPathRoot старается раскрутить все по полной.

3. В настройки InfoPanel добавлена опция "Формат вывода имени компьютера" (о чем описанов в хелпе).
   Теперь бы вменяемо (исходя из описания) обозвать эти пункты комбобокса :-)

--------------------------------------------------------------------------------
yole 2010-01-07 12:00:00+03:00 - build 1315

1. Returning an option which has been lost when moving settings to dynamic dialogs.

2. Dynamic dialogs build system is learned to work with comboboxes.
InfoPanel Settings dialog moved to new system.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Вернём на место опцию, потерянную при переводе настроек на динамические диалоги.

2. Система динамического построения диалогов обучена работать с комбо-боксами.
   Переведен на новую систему диалог InfoPanel Settings.

--------------------------------------------------------------------------------
drkns 2010-01-07 01:19:43+02:00 - build 1314

1. And another couple of trivia.

--------------------------------------------------------------------------------
drkns 2010-01-07 00:57:40+02:00 - build 1313

1. Some more autocompletion.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё всякое по автодополнению.

--------------------------------------------------------------------------------
zg 2010-01-06 22:36:35+02:00 - build 1312

1. gcc warnings.

--------------------------------------------------------------------------------
drkns 2010-01-06 18:54:47+02:00 - build 1311

1. Changes in FSF.MkTemp - the function returns needed buffer size.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Изменения в FSF.MkTemp - функция возвращает требуемый размер буфера.

--------------------------------------------------------------------------------
drkns 2010-01-05 20:52:04+02:00 - build 1310

1. Forum: correction of "Already existing files" list behavior in copy dialog.

2. As a consequence of #1: opened combobox is now fed with DN_LISTHOTKEY event.

3. OPIF_FINDFOLDERS is removed for uselessness.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: уточнение поведения списка "Already existing files" в диалоге копирования.

2. Следствие 1 пункта: в открытый комбинированный список теперь приходит событие DN_LISTHOTKEY.

3. Удалён OPIF_FINDFOLDERS за ненадобностью.

--------------------------------------------------------------------------------
drkns 2010-01-05 19:50:30+02:00 - build 1309

1. New actl commands: ACTL_SETPROGRESSSTATE, ACTL_SETPROGRESSVALUE, intended to control Far taskbar button.

2. ACTL_GETWCHARMODE is removed for uselessness.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Новые actl-команды: ACTL_SETPROGRESSSTATE, ACTL_SETPROGRESSVALUE.
   Предназначены для управления кнопкой Far на панели задач.

2. Удалена ACTL_GETWCHARMODE за ненадобностью.

--------------------------------------------------------------------------------
drkns 2010-01-03 21:37:53+02:00 - build 1308

1. Other autocompletion stuff.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё всякое по автодополнению.

--------------------------------------------------------------------------------
drkns 2010-01-03 18:36:49+02:00 - build 1307

1. Changes/corrections on new autocompletion mode.

2. Rollback of 1306 - false alarm )

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Изменения/уточнения работы нового режима дополнения.

2. Откат 1306 - ложная тревога )

--------------------------------------------------------------------------------
drkns 2010-01-03 16:42:56+02:00 - build 1306

1. FSF.ConvertPath didn't return needed buffer size.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. FSF.ConvertPath не возвращала необходимый размер буфера.

--------------------------------------------------------------------------------
drkns 2010-01-02 13:38:25+02:00 - build 1305

1. Mantis#0001233: In editor, text being replaced is not highlighted.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001233: При замене в редакторе не подсвечивается место, которое предлагается заменить.

--------------------------------------------------------------------------------
svs 2009-12-29 15:10:25+03:00 - build 1304

1. I was wrong about language-dependent %FARADMINMODE% :-)

   Next iteration...

   Now
     %FARADMINMODE% is a number and equals to 1, if we are admin

   cmdprompt has new '$@xx' (see MConfigCmdlinePromptFormatAdmin)
   Here, 'xx' contains two symbols surrounding the word "Administrator"
   For example, "$@{}$s$p$g" is displayed as "{Administrator} C:\>"

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. На счет языкозависимого %FARADMINMODE% погорячился :-)

   Очередная итерация...

   Теперь
     %FARADMINMODE% число и равно 1, если под мы админом

   У cmdprompt новый '$@xx' (см. MConfigCmdlinePromptFormatAdmin)
   здесь 'xx' - два символа, которыми будет обрамлено слово "Администратор"
   Например, "$@{}$s$p$g" будет представлен как "{Администратор} C:\>"

--------------------------------------------------------------------------------
svs 2009-12-29 13:33:22+03:00 - build 1303

1. Mantis#0001228: Macro Problem (wrong results in 'Index')
Additional parameters are introduced in macro functions
N=index(S1,S2[,Mode])
S=rindex(S1,S2[,Mode])
Result=replace(Str,Find,Replace[,Cnt[,Mode]])
Here Mode is:
0 - case insensitive
1 - case sensitive

2. Macro: msave() for double type keeps its value as a string.

3. If Far is in administrator mode, the environment variable FARADMINMODE is set, it equals to "(Administrator)" (see MConfigCmdlinePromptFormatAdmin)
One can make use of it in CmdPrompt.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001228: Macro Problem (wrong results in 'Index')
   Добавлены доп.пораметры для макрофункций
      N=index(S1,S2[,Mode])
      S=rindex(S1,S2[,Mode])
      Result=replace(Str,Find,Replace[,Cnt[,Mode]])
   Здесь Mode:
      0 - case insensitive
      1 - case sensitive

2. Macro: msave() для значения типа double сохраняет значение в виде строки.

3. Если Far в режиме "администратор", то выставляется переменная среды FARADMINMODE, равная "(Администратор)"  (см. MConfigCmdlinePromptFormatAdmin)
   Может применяться в CmdPrompt.

--------------------------------------------------------------------------------
drkns 2009-12-29 00:44:26+02:00 - build 1302

1. Placing DIF_EDITPATH in dialogs where it is needed.

2. Corrections of new append mode.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Расставляем DIF_EDITPATH во всех нужных диалогах.

2. Уточнения нового режима дополнения.

--------------------------------------------------------------------------------
yole 2009-12-29 00:11:00+03:00 - build 1301

1. Work on dynamic dialog system is in progress.
Support is added for separators, radio buttons, prefix text, history.
Translation for system settings, panel settigns, file description settings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжаем работать над системой динамического построения диалогов.
   Добавлена поддержка сепараторов, радиокнопок, префиксного текста, истории.
   Переведены system settings, panel settigns, file description settings.

--------------------------------------------------------------------------------
drkns 2009-12-28 19:10:00+02:00 - build 1300

1. Experimenting with auto-completion again.
Now its behaviour is as close to the system one as possible, namely:
input is provided with autoexpanding list with suitable variants, shrinking as input proceeds.
I.e. nothing is substituted without user's control end everything is intuitively clear.
Hope this variant will suit everybody.

Sorry, no configuration interface so far. It will be done later.

P.S. As a bonus (and to match the system behaviour precisely) also primitive completion of file names is added at the same place. It works at the command line and dialog input lines with DIF_EDITPATH flag set.
At this moment, the flag is set in open and save dialogs only (ShiftF4/ShiftF2).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Очередные эксперименты с автодополнением.
   Теперь поведение оного максимально приближено к системному, а именно:
   при наборе автоматически раскрывается список с подходящими вариантами, сокращающийся по мере ввода.
   Т.е. ничего никуда против воли пользователя не подставляется и при этом вроде всё интуитивно понятно.
   Надеюсь, этот вариант устроит всех.

   Через интерфейс пока ничего настраивается, уж извиняйте. Позже.

   З.Ы. В качестве бонуса (и для полного соответствия системному поведению) туда же добавлено примитивное дополнение файловых имён.
   Работает в комстроке и тех диалоговых строках ввода, у которых установлен флаг DIF_EDITPATH.
   На данный момент сей флаг установлен только в диалогах открытия/сохранения файла (ShiftF4/ShiftF2).

--------------------------------------------------------------------------------
yole 2009-12-26 19:30:00+03:00 - build 1299

1. Dynamic dialog creation system development is in progress.
Support is added for edit fields, static text, automation.
Another couple of settings dialogs is moved to the new system.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжаем работать над системой динамического построения диалогов.
   Добавлена поддержка edit fields, статического текста, automation.
   Ещё пара диалогов из настроек переведены на новую систему.

--------------------------------------------------------------------------------
drkns 2009-12-26 16:14:42+02:00 - build 1298

1. Correction of 1295.2.

--------------------------------------------------------------------------------
yole 2009-12-26 16:20:00+03:00 - build 1297

1. Stub for dynamic dialog creation system: DlgBuilder.cpp/hpp

2. autocompletion blind mode on/off option.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Заготовка для системы динамического построения диалогов: DlgBuilder.cpp/hpp

2. Опция для включения/выключения слепого режима autocompletion.

--------------------------------------------------------------------------------
yole 2009-12-25 23:32:10+03:00 - build 1296

1. Blind mode for autocompletion (experimental):
http://bugs.farmanager.com/view.php?id=274

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Слепой режим для autocompletion (эксперимент):
   http://bugs.farmanager.com/view.php?id=274

--------------------------------------------------------------------------------
drkns 2009-12-25 19:24:01+02:00 - build 1295

1. Restored the editor save error visualization.

2. New hotkeys in panels: CtrlShift.
They change the current panel height.

2. Mass deletion of constness cast-away in Local, LocalOEM and other places.

3. Mass deletion of out-of-loop counters.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Восстановим визуализацию при ошибках сохранения в редакторе.

2. Новые кнопкосочетания в панелях: CtrlShift<Up|Down|Num8|Num2>.
   Меняют высоту только текущей панели.

2. Массовое истребление бессмысленных и беспощадных снятий константности в Local, LocalOEM и других местах.

3. Массовое истребление объявлений счётчика за пределами цикла.

--------------------------------------------------------------------------------
t-rex 2009-12-25 16:46:03+02:00 - build 1294

1. Logical completion of 1246. Now plugins can detach Far window, and this is supposed to work.
I've noticed so far that MakeIt plugin is partially broken, I'll examine that.
It's interesting to know if someting else having non-standard output is also broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Логическое завершение 1246. Теперь в общем плагины могу делать детач окну фара и это вроде как должно работать.
   Пока что заметил что частично поломался плагин MakeIt, будем разбиратся.
   Интересно знать если ещё что то такое с не стандартным выводом поломалось.

--------------------------------------------------------------------------------
chupakabra 2009-12-24 23:37:00+02:00 - build 1293

1. On Far startup, macro recording indicator could appear because KeyMacro::Recording wasn't initialized.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При загрузке Far мог появлятся индикатор записи макро из-за того что KeyMacro::Recording не была инициализирована.

--------------------------------------------------------------------------------
drkns 2009-12-24 21:33:21+02:00 - build 1292

1. DList is removed from MacroState, till better times.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уберём пока DList из MacroState, до лучших времён.

--------------------------------------------------------------------------------
drkns 2009-12-24 17:53:01+02:00 - build 1291

1. Typo in 1290.

--------------------------------------------------------------------------------
drkns 2009-12-24 01:51:44+02:00 - build 1290

1. Getting rid of some more memcpy and memset.

2. If plugin tried to change focus at the moment of combobox opening, the consequences were tragic.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Задавим ещё немного memcpy и memset.

2. Если плагин пытался изменить фокус в момент открытия комбинированного списка - последствия были печальны.

--------------------------------------------------------------------------------
drkns 2009-12-23 20:13:46+02:00 - build 1289

1. Corrections of build 1287.

2. Corrections of Help.

--------------------------------------------------------------------------------
t-rex 2009-12-22 22:21:07+02:00 - build 1288

1. Mantis#1147: Error when launching \

2. Some cleanup.

--------------------------------------------------------------------------------
drkns 2009-12-22 21:23:23+02:00 - build 1287

1. Using DList instead of list reimplementations in yet another few places.

2. Some additions in DList.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Используем DList вместо повторных имплементаций списка ещё в нескольких местах.

2. Немного добавок в DList.

--------------------------------------------------------------------------------
drkns 2009-12-18 22:14:58+02:00 - build 1286

1. Regular expressions: \x now supports up to four hexadecimal digits, in order to cover Unicode caracters.

2. Selection in editor text replace was drawn over the text by hand for some reason.
If tab symbols got there, this casted a miracle.

3. Help on "Far window title addons".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В регулярных выражениях \x теперь поддерживает до четырёх 16-ричных цифр, дабы охватить уникод.

2. При замене в редакторе выделение зачем-то рисовалось вручную поверх текста.
   Если при этом туда попадали символы табуляции - начинались чудеса.

3. Хелп для "Far window title addons".

--------------------------------------------------------------------------------
t-rex 2009-12-18 17:59:11+02:00 - build 1285

1. At users' requests, an addition to 1282, if Mouse option is off in Far interface settings, then additional console mode “quick edit” isn't switched off if the shortcut/window setting is on.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. По запросам публики, дополнение к 1282, если в настройках интерфэйса фара опция Mouse отключена,
   то доп. режим консоли quick edit не будет отключен если он включен для шортката/окна.

--------------------------------------------------------------------------------
drkns 2009-12-17 21:00:01+02:00 - build 1284

1. New caption template %Platform (x86/x64/IA64), templates are now case-insensitive.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. К шаблонам заголовка консоли добавлен %Platform (x86/x64/IA64) и шаблоны теперь регистронезависимые.

--------------------------------------------------------------------------------
drkns 2009-12-13 22:22:11+02:00 - build 1283

1. TI#48 had no influence on NumDel.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. TI#48 не влияло на NumDel.

--------------------------------------------------------------------------------
t-rex 2009-12-13 00:40:22+02:00 - build 1282

1. The BAF from b1279#2 is back for a while, there are some problems without it, also there's no time to rewrite it completely so far. I should better not touch it.

2. Additional console modes (quick edit/insert mode) are switched off while Far is running, but if they have been turned on when Far is started then they are back on for the time external programs run in Far window.

3. Misc stuff.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. ЖЖ пока возвращяется, без неё пока проблемы а на полную переделку пока что нету времени.
   Там надо тупо всё переписывать, лучше бы я туда не лазил.

2. Отключаем доп. режимы консоли (quick edit/insert mode) во время работы в фаре,
   но если они были включены при запуске фара то на время запуска внешних прог в окне фара они будут
   включатся назад.

3. Мелочи разные.

--------------------------------------------------------------------------------
drkns 2009-12-12 23:57:53+02:00 - build 1281

1. Corrections of the previous build.

--------------------------------------------------------------------------------
drkns 2009-12-12 23:44:12+02:00 - build 1280

1. Information panel:
- swap file status is now called with its proper name, instead of "virtual memory";
- added information on true virtual memory;
- added information on installed physical memory. It is functional in Vista and above.

2. When ShiftF8 was pressed on ".." and there was a selection on the panel, an attempt to delete this item was made, with all consequences.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Панель информации:
   - статус файла подкачки теперь называется как положено, а не "виртуальная память";
   - добавлено отображение настоящей виртуальной памяти;
   - добавлено отображение физически установленной памяти. Работает в Vista и выше.

2. При нажатии ShiftF8 на элементе ".." и наличии выделения в панели производилась попытка этот элемент удалить, со всеми вытекающими.

--------------------------------------------------------------------------------
t-rex 2009-12-07 23:20:24+02:00 - build 1279

1. Mantis#1157: .. - exit from temporary panel to previous one.

2. A big ancient fail: OpenFilePlugin() didn't create a new panel, existing one was reused instead.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1157: .. - выход из временной панели в предыдущую.

2. Жопастая жопа да ещё и доисторическая, при OpenFilePlugin() не создавалась новая панель
   а реюзалась существующая.

--------------------------------------------------------------------------------
t-rex 2009-12-07 21:03:31+02:00 - build 1278

1. Settle down current path syncronization and a pair of related things.
Also, access to inner strCurrentDirectory() should be wrapped with CriticalSection .

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Устаканивание синхронизации текущего пути и пару связанных мелочей.
   Надо бы ещё CriticalSection поставить вокруг доступа к внутренему strCurrentDirectory().

--------------------------------------------------------------------------------
t-rex 2009-12-07 17:59:07+02:00 - build 1277

1. Now we syncronize process' current directory with Far current folder, because since 1275 it has become totally unexpected which has caused another series of problems.
What could we do? Now everything seems to be ok, but since now it will be harder to find buggy plugins which get current path from Windows, not Far, because those will be equal except for "nonstandard" paths.
I think this should be done: remove ANSI plugins support at all. The problem is gone at once, and people get a high motivation for plugins porting.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Будем синхронизировать текущею папку процеса с папкой в фаре,
   ибо из за 1275 она стала вообще не предвиденной что привод ещё к серии проблем.
   А що делать то? Так вроде всё ок, но теперь трудней будет найти глючные плагины которые
   получают текущий путь не у фара а у винды так как теперь кроме как для "не стандартных"
   путей они будут одинаковые.
   Я так думаю надо сделать такое: выкинуть нафиг поддержку анси плагинов. Решается и эта проблема и у людей
   сразу мотивация будет портировать плагины.

--------------------------------------------------------------------------------
t-rex 2009-12-06 23:01:16+02:00 - build 1276

1. Misc.

--------------------------------------------------------------------------------
t-rex 2009-12-06 20:52:04+02:00 - build 1275

1. CurrentDirectoryGuard is removed, now there's only SynchronizeCurrentDirectory() without restoring, because frequent jumps of process' current directory here and there cause various problems with ANSI plugins invocation.

2. Small corrections in plugin manager.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Убрал CurrentDirectoryGuard, теперь есть только SynchronizeCurrentDirectory() без востановления,
   ибо частое прыганье текущей папки процесса туда сюда при вызове анси плагинов приводило к разнообразным проблемам.

2. Мелкии корекции в менеджере плагинов.

--------------------------------------------------------------------------------
drkns 2009-12-06 11:14:26+02:00 - build 1274

1. Incorrect mark symbol in menu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Неправильный символ пометки в меню.

--------------------------------------------------------------------------------
drkns 2009-12-05 18:46:16+02:00 - build 1273

1. As it suddenly became clear, those admin-in-caption tricks didn't work at all,
   because the state of user's membership in admins group had been taken from astral plane.

Ibid: removed Windows version check (need to check how it works under NT<6) a couple of minor things.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Как внезапно выяснилось, эти ваши трюки с админом в заголовке вообще не работали,
   т.к. состояние принадлежности пользователя к админской группе бралось из астрала.

Там же: убрана проверка версии Windows (надо проверить, как будет работать на NT<6) и ещё пара мелочей.

--------------------------------------------------------------------------------
t-rex 2009-12-05 17:29:08+02:00 - build 1272

1. Remakes in TitleAddons:
a. GUI option. Please always add it for new GUI features, say no to “techinfo”.
b. No spaces etc. are substituted anywhere, the string is inserted as-is.
c. All additions go after " - Far ", don't touch this piece.
d. Trailing spaces are removed if anybody wants to know.
e. Far version isn't changed while running, No need to read it continuously :)
f. The default string is now "%Ver.%Build %Admin".
g. Admin is now written in LNG without excessive symbols.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Переделки в TitleAddons:
   a. Опция в гуи. Просьба всегда добавлять для новых фич гуи, скажем нет техинфо.
   b. Никакие пробелы и т.п. никуда не подставляются, строка вписывается как есть.
   c. Все добавки идут после " - Far ", этот кусок нефиг лапами трогать.
   d. Пробелы с конца удаляются если кому то интересно.
   e. Версия фара во время работы не меняется, нефиг каждый раз её считывать :)
   f. Строка по дефолту теперь "%Ver.%Build %Admin".
   g. В lng теперь админ прописан без скобок и пробела.

--------------------------------------------------------------------------------
t-rex 2009-12-05 16:36:12+02:00 - build 1271

1. Another remake in apiGetFinalPathNameByHandle() to do it nicer and more correct.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё одна переделка в apiGetFinalPathNameByHandle() чтоб было красивей и правильней.

--------------------------------------------------------------------------------
t-rex 2009-12-05 14:27:07+02:00 - build 1270

1. Mantis#1202: Crash after Shift-F8 keypress in editor and viewer.
The bug has always existed, but it has manifested itself only now.

2. Incorrect encodings sorting in Favorites.

3. VMenu: SelectPos has to be corrected when adding a new item before selected one.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1202: Падение при нажатии Shift-F8 в редакторе и вьвере.
   Глюк был всегда, но стало падать тока сейчас.

2. Некоректная сортировка кодировок в Favorites.

3. VMenu: надо коректировать SelectPos при добавлении нового пункта перед помеченым.

--------------------------------------------------------------------------------
t-rex 2009-12-05 11:57:27+02:00 - build 1269

1. VMenu: a small bug in DeleteItem().

--------------------------------------------------------------------------------
t-rex 2009-12-05 10:53:56+02:00 - build 1268

1. Continue ruining VMenu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжаем ломать VMenu.

--------------------------------------------------------------------------------
t-rex 2009-12-05 00:20:30+02:00 - build 1267

1. Some more cleaning in global.hpp.

2. Bugs in ConsoleTitle.

--------------------------------------------------------------------------------
t-rex 2009-12-04 22:06:38+02:00 - build 1266

1. Partial refactoring of VMenu class (menus, combos, listboxes) to gain convenience of new features adding.
Various bugs must have been fixed, especially those related to marking, hidden items, mouse etc.
Now the class is constantly watching for marks etc and can't be confused with outer actions.
Now it's easier to complete menu filter functionality.
Bugs are expected and even lots of them!

2. Fixes in apiGetFinalPathNameByHandle() and its usage.

3. debug couldn't be built.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Частичный рефакторинг класса VMenu (меню, комбы, листбоксы), чтоб можно было относительно удобно вносить в него новый функционал.
   Должны исправится различные глюки, особенно глюки связанные с пометкой, хидден пунктами, мышой и т.п.
   Теперь класс упорно следит за пометкой и т.п., и его нельзя запутать извне.
   Теперь будет проще доделать полноценный функционал фильтра меню.
   Глюки ожидаются, и даже наверно много!

2. Исправления в apiGetFinalPathNameByHandle() и в её использовании.

3. Не собирался debug.

--------------------------------------------------------------------------------
svs 2009-12-04 19:09:57+03:00 - build 1265

1. Inspired by "GKTem" sources (exactly, http://msdn.microsoft.com/en-us/library/aa376389%28VS.85%29.aspx) and "vkh" (adjustable caption), console header ending definition algorithm is added (earlier, the caption was hardcoded: " - Far").
a) addition to caption is a template;
b) addition is taken by Far from registry key Interface/TitleAddons:REG_SZ, " - Far%Ver%Admin" by default;
c) template characters understood by Far:
1. %Ver - Far Manager current version, for example, " 2.0" - Far adds a space before version string;
2. %Build - Far Manager current build, for example, " 1259" - Far adds a space before build string;
3. %Admin - in Vista and later it is replaced with LNG file value, " (Administrator)" by default - Far does NOT add a space.

Developing this topic, we can add... "%Debug" template for maniacs ;-)

2. SetFarTitle() function is moved from interf.?pp into ConsoleTitle class.

3. Macro: addition in #1 "IsUserAdmin" - 1 or 0 - the name of the user whom Far is started under.
Here's misunderstanding (speaking about myself :-)... now there's IsUserAdmin and "(Administrator)" isn't displayed (for OS older than Vista)
It's possible that IsUserAdmin for these OSes must be 0, even if the current user is administrator.
So far, it is done exactly this way (see constitle.cpp::GetFarTitleAddons())

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. По мотивам сорцов "GKTem" (а точнее здесь http://msdn.microsoft.com/en-us/library/aa376389%28VS.85%29.aspx) и
   "vkh" (настраиваемый заголовок) добавлен механизм определения
   окончания заголовка консоли (раньше жестко был зашит " - Far").
   а) добавка к заголовку представляет из себя шаблон;
   б) добавку Far берет из реестра Interface/TitleAddons:REG_SZ, по умолчанию " - Far%Ver%Admin";
   в) шаблонные символы, которые понимает Far:
         1. %Ver - текущая версия Far Manager, например, " 2.0" - Far самостоятельно добавляет пробел перед версией;
         2. %Build - текущий билд Far Manager, например, " 1259" - Far самостоятельно добавляет пробел перед билдом;
         3. %Admin - в Vista и выше заменяется на значение из lng-файла: по умолчанию " (Администратор)"/" (Administrator)" - Far самостоятельно НЕ добавляет пробел.

   Развивая эту тему можно добавить... шаблон "%Debug" для особых извращенцев ;-)

2. Функция SetFarTitle() вынесена из interf.?pp в класс ConsoleTitle.

3. Macro: добавка в п.1 "IsUserAdmin" - 1 или 0 - под кем запущен Far
   Тут есть непонятка (для меня :-)...  сейчас IsUserAdmin и в заголовке добавка "(Администратор)" не пишется (для меньше "Висты")
   возможно, что IsUserAdmin для ниже висты все же должен быть 0, даже если мы админы на тачке.
   Пока так и сделано (см. constitle.cpp::GetFarTitleAddons())

--------------------------------------------------------------------------------
chupakabra 2009-12-04 17:32:00+02:00 - build 1264

1. GetFinalPathNameByHandle() is wrapped into __try __except to prevent crash under Windows 7 + Ext2FSD.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. GetFinalPathNameByHandle() завернута в __try __except чтобы предотвратить падение на Windows 7 + Ext2FSD.

--------------------------------------------------------------------------------
t-rex 2009-12-04 10:53:20+02:00 - build 1263

1. from Igor Braginskiy: for CD/CHDIR we "process" (ignore) /D,
the volume is changed anyway, therewith some people type this option in aliases or habitually.

2. from Igor Braginskiy: excessive redraw in launcher.

3. Security in EXE headers checking.

4. Possible AV in "echo." processing.

5. Some makeup.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. from Igor Braginskiy: для CD/CHDIR "обработаем" (проигнорируем) /D,
   мы и так всегда меняем диск а некоторые в алайясах или по привычке набирают этот ключ.

2. from Igor Braginskiy: лишняя перерисовка в запускаторе.

3. Секьюрность в проверке заголовков экзэшников.

4. Потенциальный AV при обработке "echo.".

5. Косметика и около.

--------------------------------------------------------------------------------
chupakabra 2009-12-04 05:47:00+02:00 - build 1262

1. Mantis#0000975: Filename column is displayed last in search results dialog.

2. Horizontal VMenu scroll is fixed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000975: Колонка с именем файла отображается последней в диалоге результатов поиска.

2. Исправление горизонтальной прокрутки VMenu.

--------------------------------------------------------------------------------
t-rex 2009-12-02 23:04:07+02:00 - build 1261

1. Warning and near.

--------------------------------------------------------------------------------
t-rex 2009-12-02 22:03:01+02:00 - build 1260

1. Overdone a little in PathCanHoldRegularFile().

2. Removed a couple of duplicate functions.

3. Some makeup by the way.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Переборщил немного в PathCanHoldRegularFile().

2. Удалил пару функций дупликатов.

3. Немного косметики по дороге.

--------------------------------------------------------------------------------
zg 2009-12-02 00:10:59+02:00 - build 1259

1. 1258 is being continued. Now the “Packed” column contains real values.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. продолжение 1258. теперь в колонке Packed реальные значения.

--------------------------------------------------------------------------------
zg 2009-12-01 23:21:54+02:00 - build 1258

1. Mantis#0000916: Garbage in Detailed mode, “Packed” column.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000916: Мусор в Detailed mode, колонка Packed.

--------------------------------------------------------------------------------
t-rex 2009-12-01 20:37:20+02:00 - build 1257

1. Some style editing.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Немного различной косметики в коде.

--------------------------------------------------------------------------------
chupakabra 2009-12-01 08:08:00+02:00 - build 1256

1. Mantis#0001104: When displaying a tree, no attempt is made to define the real root of the volume, instead the one contained in current path is used.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001104: При отображении дерева не пытаемся определить реальный корень диска, а используем тот что присутствует в текущем пути.

--------------------------------------------------------------------------------
t-rex 2009-12-01 03:13:36+02:00 - build 1255

1. All changes in code are related to style. Got sick of tabs and spaces mixed together etc.
The sources are processed in this way:
AStyle --style=ansi --indent=tab=4 --brackets=break --indent-classes --indent-switches --indent-namespaces --indent-preprocessor --break-blocks --delete-empty-lines --unpad-paren --keep-one-line-statements --keep-one-line-blocks
This is not ideal, but much better than before.

Thus, don't forget to use tabs in your code. The tab width is 4 spaces.
We have to pick a time for writing a sort of document on coding style.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Все изменения в коде только косметические. Тупо надоела уже мешанина табов и пробелов и т.п.
   Прогрнал на сорцы следующее:
   AStyle --style=ansi --indent=tab=4 --brackets=break --indent-classes --indent-switches --indent-namespaces --indent-preprocessor --break-blocks --delete-empty-lines --unpad-paren --keep-one-line-statements --keep-one-line-blocks
   Не идеально конечно, но уже намного приятней.

   Так что не забываем, в коде нужно использовать табы. Таб == 4 пробела.
   Надо будет собраться и написать хоть какой то документ по стилю кода.

--------------------------------------------------------------------------------
t-rex 2009-12-01 00:37:09+02:00 - build 1254

1. Some more cleaning in global.hpp.

2. Using string.Clear() everywhere instead of string.SetLength(0) and string=L"" because this is faster and nicer.

3. A couple of tiny optimizations in UnicodeString.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё немного чистки в global.hpp.

2. Юзаем везде string.Clear() вместо string.SetLength(0) и string=L"", так и быстрей и красивей.

3. Пару мелких оптимизаций в UnicodeString.

--------------------------------------------------------------------------------
t-rex 2009-11-30 20:20:11+02:00 - build 1253

1. After 1246-3, when closing a dialog DN_EDITCHANGE had started to be sent to all edits, which caused various bugs including Mantis#1192: Crash on filter creation.

2. Mantis#1190: When using environment variables in edit fields the history is added both the variable and its value.
The bug is old but it has been revealed thanks to 1246-3.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. После 1246-3 при закрытии диалога стал посылатся DN_EDITCHANGE всем эдитам.
   Что приводило к различным глюкам включая Mantis#1192: Падение при создании фильтра.

2. Mantis#1190: При использовании в полях ввода переменных окружения в историю попадает как сама переменная, так и её значение.
   Глюк старый но всплыл из за 1246-3.

--------------------------------------------------------------------------------
svs 2009-11-30 12:10:30+03:00 - build 1252

1. syslog.cpp breakdown...

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Отвалился syslog.cpp...

--------------------------------------------------------------------------------
t-rex 2009-11-30 09:23:05+02:00 - build 1251

1. An accidental FarMenu.ini breakdown in 1248.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Поломал случайно загрузку FarMenu.ini в 1248.

--------------------------------------------------------------------------------
t-rex 2009-11-29 23:04:39+02:00 - build 1250

1. Some more cleaning in global.hpp.

--------------------------------------------------------------------------------
t-rex 2009-11-29 21:45:45+02:00 - build 1249

1. clipboard service code correction.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Коррекция кода по работе с clipboard.

--------------------------------------------------------------------------------
t-rex 2009-11-29 20:33:41+02:00 - build 1248

1. Mantis#1188: Slow (25 sec) network share entering from Network plugin.
The share list had been scanned for descript.ion file.

2. Similar fix for usermenu. When F2 is pressed in share list then we don't look for FarMenu.ini there.

3. Various changes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1188: Длительный (25 секунд) вход в сетевую шару из плагина Network.
   Файл описаний искался в списке шар.

2. Похожий фикс для usermenu. Если нажали F2 находясь в списке шар то не будем искать там FarMenu.ini.

3. Различные мелочи по дороге.

--------------------------------------------------------------------------------
drkns 2009-11-29 19:31:17+02:00 - build 1247

1. As it proved to be, the editor had inserted signature in Unicode files independently of save dialog checkbox state.
And, what's interesting, long enough already.
It is also the cause of Mantis#0001079: [x] Add signature (BOM) option is always on.

2. A couple of corrections in UTF-8 hex view "blocker".

3. #2 of build 1237 is rolled back. This dialog is annoying indeed.

4. When saving with ShiftF2, current position in “Code page” combobox had been taken somewhere from astral.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Как выяснилось, редактор пихал сигнатуру в уникодные файлы независимо от состояния переключателя в диалоге сохранения.
   И, что интересно, уже весьма давно.
   Отсюда же ноги росли у Mantis#0001079: Опция [x] Add signature (BOM) всегда стоит.

2. Пара уточнений в "блокираторе" 16-ричного просмотра UTF-8.

3. Откат 2 пункта 1237 билда. Этот диалог таки достаёт, да.

4. При сохранении по ShiftF2 текущая позиция в комбинированном списке "Кодовая страница:" бралась откуда-то из астрала.

--------------------------------------------------------------------------------
t-rex 2009-11-29 02:23:03+02:00

1. NO_RELEASE_PDB flag for make.

--------------------------------------------------------------------------------
t-rex 2009-11-28 21:57:13+02:00

1. Added /Oy- in release to “help” fexcept.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Добавим /Oy- для релиза, чтоб "помочь" fexcept.

--------------------------------------------------------------------------------
drkns 2009-11-28 21:55:50+02:00

1. Projects sync with makefile.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Синхронизация проектов с makefile.

--------------------------------------------------------------------------------
t-rex 2009-11-28 20:39:31+02:00 - build 1246

1. In Win7 x64, Far would not launch under Application Verifier because of the glitch in the latter.
   Let's use GetStdHandle() instead of CreateFile(CON*$).
   If everything is ok, in the future after some rework, plugins will be able to painlessly detach Far window.
   Please test with different telnets, etc., etc.

2. pdb in release.

3. DIF_EDITEXPAND did not work at large; as the result, Mantis#1185: Name substitution does not work when creating a new folder.

4. Mantis#1184: Farmenu.ini does not work from "incorrect" path.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В Win7 x64 фар не запускается под Application Verifier из-за глюка в последнем.
   Будем использовать GetStdHandle() вместо CreateFile(CON*$).
   Если всё будет ок, то в будущем после доп. переделки плагины смогут безболезненно делать детач окну фара.
   Потестируйте на разных телнетах и т.д., и т.п.

2. pdb в релизе.

3. Не работал в общем DIF_EDITEXPAND, и как следствие Mantis#1185: Не работает подстановка имён при создании новой папки/каталога.

4. Mantis#1184: Farmenu.ini не работает из "некорректного" пути.

--------------------------------------------------------------------------------
t-rex 2009-11-28 15:11:26+02:00 - build 1245

1. Some tiny optimizations in strmix.cpp concerning UnicodeString.

2. gcc warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Несколько мелких оптимизаций в strmix.cpp по работе с UnicodeString.

2. gcc ворнинги.

--------------------------------------------------------------------------------
drkns 2009-11-28 13:10:50+02:00

1. Some more editions in makefile_vc: VC2008 is now default, target platform autodetection.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё немного правок в makefile_vc: VC2008 теперь по умолчанию, автоопределение целевой платформы.

--------------------------------------------------------------------------------
drkns 2009-11-28 02:53:22+02:00 - build 1244

1. Various decorations in makefile_vc and, as a consequence, in code too.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Всякая косметика в makefile_vc и, как следствие, немного в коде.

--------------------------------------------------------------------------------
t-rex 2009-11-28 02:18:44+02:00 - build 1243

1. There has been some hurry in 1242, rolling back.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Немного поспешил в 1242, вернём взад.

--------------------------------------------------------------------------------
t-rex 2009-11-28 01:08:27+02:00 - build 1242

1. Removed string length limitation in MenuFileToReg().

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Убрал ограничение на длину строки в MenuFileToReg().

--------------------------------------------------------------------------------
t-rex 2009-11-28 00:35:30+02:00 - build 1241

1. Mantis#1180: Cannot update file description.
Descriptions in paths ending with dots etc.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1180: Cannot update file description.
   Описания в путях с точкой на конце и т.п.

--------------------------------------------------------------------------------
chupakabra 2009-11-27 23:14:00+02:00 - build 1240

1. Crash after commands like cd \\MAXW7.

--------------------------------------------------------------------------------
t-rex 2009-11-27 21:52:52+02:00 - build 1239

1. A minor change, just in case.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Одна мелочь, на всякий пожарный.

--------------------------------------------------------------------------------
chupakabra 2009-11-26 18:35:00+02:00 - build 1238

1. Mantis#0001176: RO attribute is not cleared when copying files from CD.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001176: Не снимается RO при копировании файлов с CD.

--------------------------------------------------------------------------------
drkns 2009-11-26 11:10:35+02:00 - build 1237

1. Mantis#0001175: Ctrl-Enter is processed incorrectly when doing autocompletion.

2. When file is saved in editor with F2, if file hasn't existed before, the save dialog is displayed.

3. Project & solution for Visual Studio 2010.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001175: Неправильно обрабатывается Ctrl-Enter при автозаполнении.

2. При сохранении файла в редакторе по F2, если файл до этого не существовал, теперь выводится диалог сохранения.

3. Project & solution для Visual Studio 2010.

--------------------------------------------------------------------------------
drkns 2009-11-26 02:15:04+02:00 - build 1236

1. Editor is provided with optional TAB symbols and spaces visualization.
The settings are available for:
- interface - "[ ] Show white space";
- API - EOPT_SHOWWHITESPACE, ESPT_SHOWWHITESPACE;
- macros - Editor.Set(20,State).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. К редактору прикручена возможность визуализации табуляций и пробелов.
   Для управления доступны:
    - в интерфейсе - "[ ] Show white space";
    - в API - EOPT_SHOWWHITESPACE, ESPT_SHOWWHITESPACE;
    - в макросах - Editor.Set(20,State).

--------------------------------------------------------------------------------
drkns 2009-11-25 15:56:12+02:00 - build 1235

1. Corrections in common deletion indicator.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Исправления в общем индикаторе удаления.

--------------------------------------------------------------------------------
t-rex 2009-11-23 20:26:00+02:00 - build 1234

1. Experiment with the substitution of the whole line instead of autocompletion only, proved to be unsuccessful.

2. Merged a couple of if's into one in ScreenBuf::Flush().

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Эксперимент с подставлением всей строки а не только дополнения при автокомлите не прошел успешно.

2. Соединил пару ифоф в один в ScreenBuf::Flush().

--------------------------------------------------------------------------------
t-rex 2009-11-22 22:37:12+02:00 - build 1233

1. More "optimized" functioning of Opt.ClearType.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Более "оптимизированная" работа Opt.ClearType.

--------------------------------------------------------------------------------
drkns 2009-11-22 17:10:02+02:00 - build 1232

1. Mantis#0001172: Access rights inheritance error when moving with the use of relative paths.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001172: Ошибка наследования прав доступа при переносе с использованием относительных путей

--------------------------------------------------------------------------------
drkns 2009-11-22 09:18:07+02:00 - build 1231

1. Correction of the previous build.

--------------------------------------------------------------------------------
drkns 2009-11-22 00:37:00+02:00 - build 1230

1. Command line is provided with autocompletion like in dialogs.

2. Added command line settings dialog.

3. Options restyling: the beginning. Some options will be reset and have to be set again manually.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. К комстроке прикручено автодополнение, аналогичное диалоговому.

2. Добавлен диалог настроек комстроки.

3. Перетасовка настроек: начало. Некоторые опции слетят, нужно будет выставить заново вручную.

--------------------------------------------------------------------------------
t-rex 2009-11-21 19:10:19+02:00 - build 1229

1. Locked filter mode - CtrlAltL.
When the filter is locked, all keypresses except CtrlAltL and CtrlAltF go to menu's processing.

2. Bug with cursor position in filter.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Залоченый режим фильтра - CtrlAltL.
   Когда фильтр залочен, то все нажатия кроме CtrlAltL и CtrlAltF уходят в меню на обработку.

2. Глючок с позицией курсора в фильтре.

--------------------------------------------------------------------------------
t-rex 2009-11-21 18:17:15+02:00 - build 1228

1. Filter must process the keypresses before all others.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Фильтр должен обрабатывать нажатия раньше всех.

--------------------------------------------------------------------------------
t-rex 2009-11-21 17:16:09+02:00 - build 1227

1. Experimental feature, embedded filter in all menu, combos and listboxes.
The filter is switched on/off with CtrlAltF.
When it is on, it catches all characters>=32 and backspace.
With active filter, various bugs are guaranteed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Экспериментальная фича, встроенный фильтр во всех меню, комбах и листбоксах.
   Фильтр включается/выключается по CtrlAltF.
   Когда включен, фильтр ловит все "буквы">=32 и backspace.
   При включенном фильтре, различные глюки гарантируются.

--------------------------------------------------------------------------------
t-rex 2009-11-21 14:06:52+02:00 - build 1226

1. Some more optimization and corrections in history.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё немного оптимизаций и корректировок в истории.

--------------------------------------------------------------------------------
svs 2009-11-21 11:52:06+03:00 - build 1225

1. Macro: Correction in Editor.Pos() regarding to negative values...

2. some text formatting :-)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: Уточнение в Editor.Pos(), касаемо отрицательных значений...

2. немного форматирования текста :-)

--------------------------------------------------------------------------------
t-rex 2009-11-21 01:59:20+02:00 - build 1224

1. Autocompletion in dialogs is back.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Вернул автокомплит в диалогах.

--------------------------------------------------------------------------------
chupakabra 2009-11-20 21:01:00+02:00 - build 1223

1. Mantis#0001145: FAR crash when changing search result window size with Alt+F9.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001145: Падение FAR при изменении размера окна результатов поиска по Alt+F9.

--------------------------------------------------------------------------------
chupakabra 2009-11-20 20:23:00+02:00 - build 1222

1. Protection from recursive symlinks is rewritten.
FileIndex from GetFileInformationByHandle() isn't used anymore, because any buggy driver can write anything there, thus again there will be the situation when "explorer does copy and Far doesn't".
Instead, the comparison of paths obtained with ConvertNameToReal() is used.

2. Added bool DeleteEndSlash(wchar_t*, bool).

3. Added Object* TPointerArray::lastItem().

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Переписана процедура защиты от рекурсивных симлинков.
   FileIndex из GetFileInformationByHandle() больше не используется, т.к. любой кривой драйвер
   может прописать там все что угодно и будем опять иметь ситуацию когда "эксплорер копирует а Фар нет".
   Вместо этого используется сравнение путей, полученных с помощью ConvertNameToReal().

2. Добавлена bool DeleteEndSlash(wchar_t*, bool).

3. Добавлен Object* TPointerArray::lastItem().

--------------------------------------------------------------------------------
drkns 2009-11-20 20:13:22+02:00 - build 1221

1. Malfunction of "wipe all" button when deleting files.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не работала кнопка "wipe all" при уничтожении файлов.

--------------------------------------------------------------------------------
drkns 2009-11-20 15:01:43+02:00 - build 1220

1. Continued 1219 - ShiftDecimal/NumDel.

--------------------------------------------------------------------------------
zg 2009-11-20 14:06:57+02:00 - build 1219

1. Forum: when NumLock is off, shift+numpad arrow keys act as arrows.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. с форума: при включённом нумлоке shift+цифровые стрелки работают как стрелки.

--------------------------------------------------------------------------------
drkns 2009-11-20 13:35:56+02:00 - build 1218

1. Options-Interface settings-[ ] Show total delete progress indicator.
FarInterfaceSettings->FIS_SHOWTOTALDELPROGRESSINDICATOR

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Параметры-Настройки интерфейса-[ ] Показывать общий индикатор удаления.
   FarInterfaceSettings->FIS_SHOWTOTALDELPROGRESSINDICATOR

--------------------------------------------------------------------------------
t-rex 2009-11-20 12:42:59+02:00 - build 1217

1. Yet another ancient bug in descriptions.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё один древний баг в описаниях.

--------------------------------------------------------------------------------
t-rex 2009-11-20 03:37:16+02:00 - build 1216

1. Some more refactoring, fixed a few new bugs and a couple of old ones.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё немного рефакторинга, прибил пару новых багов и ещё пару старых.

--------------------------------------------------------------------------------
t-rex 2009-11-20 02:18:29+02:00 - build 1215

1. Refactoring of the descriptions class; fixed lots of various bugs.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Рефакторинг класса описаний, поправилась куча разных багов.

--------------------------------------------------------------------------------
drkns 2009-11-19 22:44:27+02:00 - build 1214

1. From forum: "Incorrect functioning of attributes dialog".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: "Неправильная работа диалога атрибутов".

--------------------------------------------------------------------------------
t-rex 2009-11-19 13:28:28+02:00 - build 1213

1. Faster autofilling of history last item in dialogs.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Более шустрое автоподставление последнего пункта истории в диалогах.

--------------------------------------------------------------------------------
chupakabra 2009-11-18 00:20:00+02:00 - build 1212

1. Addition to build 1211.

--------------------------------------------------------------------------------
chupakabra 2009-11-17 23:17:00+02:00 - build 1211

1. GetVolumeNameForVolumeMountPointW() invocation in ConvertNameToReal() caused unexpected network activity if network drives were present.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Использование GetVolumeNameForVolumeMountPointW() в ConvertNameToReal() вызывало нежелательную сетевую активность
   при наличии в системе сетевых дисков.

--------------------------------------------------------------------------------
t-rex 2009-11-17 22:22:04+02:00 - build 1210

1. Stubs again, in order to avoid Windows bug which makes the launcher “stuck” in Win7 telnet session.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Снова затычки, чтоб решить баг винды приводящий к "застреванию" запускатора в Win7 в телнет сессии.

--------------------------------------------------------------------------------
drkns 2009-11-17 00:46:37+02:00 - build 1209

1. Correction of 1207.1.

--------------------------------------------------------------------------------
t-rex 2009-11-17 00:07:50+02:00 - build 1208

1. Achtung! Initial stage of dialog history reconstruction with purpose of common history class use.
Registry storage format has changed!
Whole current dialog history (old format) is ignored!!!!!!!
Autocompletion is not working so far.
Old dialog history in [HKEY_CURRENT_USER\Software\Far2\SavedDialogHistory] can be deleted (just to keep things clean).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ахтунг! Начальная стадия переделки истории диалогов на использование общего класса истории.
   Формат хранения в реестре изменился!
   Вся текущая история диалогов (старый формат) игнорируется!!!!!!!
   Автозавершение, пока что не работает.
   Имеет смысл почистить [HKEY_CURRENT_USER\Software\Far2\SavedDialogHistory] от старой истории диалогов (ради чистоты и только).

--------------------------------------------------------------------------------
drkns 2009-11-16 17:57:38+02:00 - build 1207

1. 'Junction' to 'Volume' replacement didn't work always for mount points.

3. Mantis#0001140: At win7, taskbar progress does not stop when the search is stopped by pressing [panel].

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Замена 'Junction' на 'Volume' для точек монтирования работала не всегда.

3. Mantis#0001140: В win7 прогресс на таскбаре не останавливается если прервать поиск нажатием на [panel].

--------------------------------------------------------------------------------
t-rex 2009-11-16 15:47:38+02:00 - build 1206

1. Unicode in descriptions:
a. If description file has BOM then it is read in appropriate encoding.
b. If there's no BOM then it's assumed that description file is OEM or ANSI according to new setting "ANSI by default".
c. Description file is saved in either:
- OEM or ANSI, according to "ANSI by default".
- UTF8 + BOM if another new setting "Save in UTF8" is on.

Todo:
- Invent clearer names of these settings and write the help.
- Think whether it has a sense to save description files with same encoding which they had initially, if BOM had been present.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Юникод в описаниях:
   а. Если файл описаний имеет BOM то читаем файл в соот. кодировке.
   б. Если нету BOM то считает что файл описаний в OEM или ANSI в зависимости от новой настройки "ANSI by default".
   с. Сохраняться файл описаний будет либо в:
      - OEM или ANSI в зависимости от новой настройки "ANSI by default".
      - UTF8 + BOM если включена новая настройка "Save in UTF8".

   Todo:
   - Надо придумать более понятные имена этим настройкам и написать хэлп.
   - Подумать если стоит сохранять файлы описаний в той же кодировке в какой они изначально были, если был BOM.

--------------------------------------------------------------------------------
drkns + t-rex 2009-11-15 22:40:40+02:00 - build 1205

1. Again: stubs intended to hide Windows bug which leads to scroll bars appear after maximized console window focus is lost (Win+L problem, well known since XP time, and similar miracles in Win7).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Снова затычки, чтоб решить баг винды приводящий к появлению скролов и т.п. после потери фокуса
   максимизированного консольного окна (известная Win+L проблема со времён XP, и подобные чудеса в Win7).

--------------------------------------------------------------------------------
chupakabra 2009-11-08 09:09:00+02:00 - build 1204

1. From Maximus: Mantis#0001163: Description is not displayed, although `Descript.ion' contains it.

2. Ineffective code in VMenu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. From Maximus: Mantis#0001163: Описание не показано, хотя оно есть в Descript.ion.

2. Неэффективный код в VMenu.

--------------------------------------------------------------------------------
chupakabra 2009-11-08 08:08:00+02:00 - build 1203

1. VMenu::Show() didn't consider submenus.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. VMenu::Show() не учитывал наличие субменю.

--------------------------------------------------------------------------------
garry 2009-11-06 11:18:34+03:00 - build 1202

1. Problems with copy through WebDav: http://forum.farmanager.com/viewtopic.php?f=9&t=4626
(modified patch from Yegor).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Проблемы с копирование через WebDav: http://forum.farmanager.com/viewtopic.php?f=9&t=4626
   (исправленный патч от Yegor).

--------------------------------------------------------------------------------
chupakabra 2009-11-05 06:32:00+02:00 - build 1201

1. Mantis#0001104: Crash after attempt to open tree panel for mount point.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001104: Падение при попытке открыть панель дерева для mount point.

--------------------------------------------------------------------------------
t-rex 2009-11-04 17:16:24+02:00 - build 1200 (UTF-16 LE :)

1. !?$<history>$<title>?<init>! - the name of the history contained garbage instead of `history'.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. !?$<history>$<title>?<init>! - вместо history имя истории было мусором.

--------------------------------------------------------------------------------
t-rex 2009-11-04 13:17:09+02:00 - build 1199

1. Changes in ESPT_GETWORDDIV and EditorSetParameter.
It seems it has been the last place in API with fixed buffer size for data retrieval.
Now EditorSetParameter has the Size field (also, cParam renamed to wszParam), ESPT_GETWORDDIV requires Size equal to wszParam buffer size in characters;
when Size or wszParam is set to 0, EditorControl returns sufficient buffer size in characters.

Plugins which use ESPT_GETWORDDIV have to be fixed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Изменения в ESPT_GETWORDDIV и EditorSetParameter.
   Вроде как это последнее место в API где не был известен размер буфера для получения данных.
   Теперь в EditorSetParameter есть поле Size (и cParam переименован в wszParam),
   при ESPT_GETWORDDIV, Size должен быть равен размеру буфера wszParam в символах,
   если Size или wszParam равны 0 то EditorControl вернёт нужный размер буфера в символах.

   Плагины использующие ESPT_GETWORDDIV нужно править.

--------------------------------------------------------------------------------
chupakabra 2009-11-04 13:09:00+02:00 - build 1198

1. Mantis#0001158: AltF2 disk menu of wrong size at 80x25 window (broken in 1190).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001158: При окне 80 на 25 меню дисков AltF2 неправильного размера (поломалось в 1190).

--------------------------------------------------------------------------------
t-rex 2009-11-04 00:46:54+02:00 - build 1197

1. Let's torture UnicodeString a little bit more.

2. Warning in gcc.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Помучаем UnicodeString ещё немного.

2. Ворнинг в gcc.

--------------------------------------------------------------------------------
t-rex 2009-11-03 13:50:19+02:00 - build 1196

1. F9->Options - incorrect work.

--------------------------------------------------------------------------------
t-rex 2009-11-03 13:10:37+02:00 - build 1195

1. More of Mantis#956: some plugins are marked with "A" in list. The help does not explain this.

2. Wrong help topic for plugins menu is fixed.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжение Mantis#956: напротив некоторых плагинов в списке стит буква "А". В хелпе об этом ни слова.

2. Для меню плагинов открываля не тот топик хэлпа.

--------------------------------------------------------------------------------
t-rex 2009-11-02 15:12:55+02:00 - build 1194

1. Mantis#1136: Far crashes on big amount of selected files when !& is used.
Now metacharacters are processed with dynamic buffers only.
It is checked whether metacharacters are sane, especially the complex ones which show dialogs.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1136: Падение Far при большом количестве выделенных файлов и использовании !&.
   Теперь обработка метасимволов использует только динамические буферы.
   Проверяем что метасимволы не полетели, особенно разные комплексные которые диалоги показывают.

--------------------------------------------------------------------------------
svs 2009-11-02 15:03:32+03:00 - build 1193

1. Mantis#0001155: trim() does not cut \r and \n at the beginning of line

2. User name in InfoPanel can be configured (NameUserPrincipal by default).
Added info panel settings dialog.

HELP NEEDED for lng and hlf: a correct and clear description for each format.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001155: trim() не отрезает \r и \n в начале строки

2. Имя пользователя в InfoPanel настраиваемо (по умолчанию NameUserPrincipal).
   Добавлен диалог настройки информационной панели.

   НУЖНА ПОМОЩЬ ДЛЯ: lng и hlf - корректно и доступно описать каждый из форматов.

--------------------------------------------------------------------------------
zg 2009-11-01 16:52:52+02:00 - build 1192

1. Mantis#0001144: Ctrl-G processes each selected file several times.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001144: Ctrl-G обрабатывает каждый выделенный файл несколько раз.

--------------------------------------------------------------------------------
t-rex 2009-10-31 20:39:13+02:00 - build 1191

1. Mantis#1148: ANSI plugins cause annoying lags in editor.
In ProcessEditor*, ProcessViewer* and ProcessDialog* calls we'll use common CurrentDirectoryGuard for the whole cycle of calls, and only if there are ANSI plugins with these functions exported.
In case of ProcessDialogEvent and ProcessEditorInput this won't help (because they are called too often), thus, it's recommended to avoid using plugins which export these functions.
Need some ideas about CurrentDirectoryGuard replacement.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1148: Анси-плагины вызывают неприятное торможение в редакторе.
   При вызовах ProcessEditor*, ProcessViewer* и ProcessDialog* будем использовать
   единный CurrentDirectoryGuard для всего цикла вызовов и только если есть анси плагины с такими экспортами.
   В случае ProcessDialogEvent и ProcessEditorInput это все ровно особо не поможет (так как они вызываются дофига)
   поэтому не стоит использовать анси плагины которые экспортирует эти функции.
   Надо в общем подумать если можно придумать что то вместо CurrentDirectoryGuard.

--------------------------------------------------------------------------------
chupakabra 2009-10-30 22:30:00+02:00 - build 1190

1. Mantis#0001083: Incorrect VMenu redraw.

--------------------------------------------------------------------------------
yjh 2009-10-30 03:07:09+03:00 - build 1189

1. Junction points are marked 'Volume' in status line, instead of 'Junction',
this is more descriptive when links are displayed side by side with junction points

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Для точек монтирования в строке статуса пишем 'Volume' а не 'Junction' -
   так получается нагляднее когда рядом есть и линки и точки монтирования

--------------------------------------------------------------------------------
svs 2009-10-29 16:49:25+03:00 - build 1188

1. Mantis#0001142: Smoooth horizontal scroll in editor
A new macro function is added "N=Editor.Pos(Op,What[,Where])" - Get/Set editor position.

Op: 0 - get, 1 - set
What:
1 - CurLine
2 - CurPos
3 - CurTabPos
4 - TopScreenLine
5 - LeftPos
6 - Overtype

Return: -1 - "don't know",
for "get": current value,
for "set": "ok" (1) or "fail" (0)

Example (when ScrollLock is on, Left/Right perform scroll)

REGEDIT4

[HKEY_CURRENT_USER\Software\far2\KeyMacros\Editor\Right]
"Sequence"="$if(FLock(2,-1) == 1) Editor.Pos(1,5,Editor.Pos(0,5)+1); $else Right $end"
"DisableOutput"=dword:00000001

[HKEY_CURRENT_USER\Software\far2\KeyMacros\Editor\Left]
"Sequence"="$if(FLock(2,-1) == 1) Editor.Pos(1,5,Editor.Pos(0,5)-1); $else Left $end"
"DisableOutput"=dword:00000001

2. some space to tab replacements

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001142: Плавная горизонтальная прокрутка в редакторе
   В макросы добавлена функция "N=Editor.Pos(Op,What[,Where])" - Get/Set позиции в редакторе.

     Op: 0 - get, 1 - set
     What:
        1 - CurLine
        2 - CurPos
        3 - CurTabPos
        4 - TopScreenLine
        5 - LeftPos
        6 - Overtype

     Return: -1 - "не в теме", для "get" - текущее значение, для "set" - "угу" (1) или "не угу" (0)

     Пример (при включенном ScrollLock клавиши Left/Right занимаются скроллллингом)

     REGEDIT4

     [HKEY_CURRENT_USER\Software\far2\KeyMacros\Editor\Right]
     "Sequence"="$if(FLock(2,-1) == 1) Editor.Pos(1,5,Editor.Pos(0,5)+1); $else Right $end"
     "DisableOutput"=dword:00000001

     [HKEY_CURRENT_USER\Software\far2\KeyMacros\Editor\Left]
     "Sequence"="$if(FLock(2,-1) == 1) Editor.Pos(1,5,Editor.Pos(0,5)-1); $else Left $end"
     "DisableOutput"=dword:00000001

2. немного замены space на tab

--------------------------------------------------------------------------------
t-rex 2009-10-27 18:04:07+02:00 - build 1187

1. Finished Mantis#1087.

--------------------------------------------------------------------------------
t-rex 2009-10-27 16:45:19+02:00 - build 1186

1. Mantis#1087: FCTL_SETPANELDIR does not return error (0) for nonexisting path.

2. CodeBlocks project update from Morten MacFly.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1087: FCTL_SETPANELDIR не возвращает ошибку (0) для несуществующего пути.

2. CodeBlocks project update from Morten MacFly.

--------------------------------------------------------------------------------
zg 2009-10-27 14:29:01+02:00 - build 1185

1. Editor status line displayed "Col" and current line at switched places.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. в статусе редактора было перепутано "Col" и текущая строка.

--------------------------------------------------------------------------------
t-rex 2009-10-26 15:17:44+02:00

1. Now makefile_vc knows about VC10.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. makefile_vc знает теперь и о VC10.

--------------------------------------------------------------------------------
t-rex 2009-10-26 13:42:02+02:00

1. Removed reminder about (?{name}pattern) from help because we don't support it.

2. Added help on "ClearType friendly redraw".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Убрал упоминание о (?{name}pattern) из хэлпа ибо мы это не поддерживаем.

2. Добавил хэлп по "ClearType friendly redraw".

--------------------------------------------------------------------------------
yjh 2009-10-26 10:57:04+03:00 - build 1184

1. Error in plugin.hpp - plugin sources can be pure C, not only .cpp.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ошибка в plugin.hpp - исходники плагинов бывают не только cpp, но и c.
   В смысле pure C :).

--------------------------------------------------------------------------------
chupakabra 2009-10-26 06:02:00+02:00 - build 1183

1. Fixed processing of an empty input line in FSF.ConvertPath() and FSF.GetPathRoot().

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Исправлена обработка пустой входной строки в FSF.ConvertPath() и FSF.GetPathRoot().

--------------------------------------------------------------------------------
t-rex 2009-10-26 00:45:52+02:00 - build 1182

1. New interface setting: [ ] ClearType friendly redraw (can be slow)
It is off by default. It must solve all problems with Cleartype, and
maybe with Hebrew characters (in case of monotype font, of course).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Новая настройка интерфэса: [ ] ClearType friendly redraw (can be slow)
   По дефолту отключено. Вроде бы решает все проблемы артефактов клиртайпа.
   За одно наверно решает и проблему отрисовки иврита (если конечно шрифт моноширный).

--------------------------------------------------------------------------------
t-rex 2009-10-24 23:39:28+02:00 - build 1181

1. Somebody has forgot to set FSF.GetCurrentDirectory :)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Кто то забыл выставить FSF.GetCurrentDirectory :)

--------------------------------------------------------------------------------
drkns 2009-10-24 20:23:01+02:00 - build 1180

1. As so called "current directory" doesn't always match the folder shown currently on panel, a correction is introduced:
- added FSF.GetCurrentDirectory that returns inner Far's "current directory";
- FCTL_GETCURRENTDIRECTORY is renamed to FCTL_GETPANELDIR to match the facts.

Plugins are not broken, but it would be better to review them and change FCTL_GETCURRENTDIRECTORY to FSF.GetCurrentDirectory if required.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Т. к. т. н. "текущий каталог" не всегда совпадает с тем каталогом, который в данный момент на панели, вводится некоторое уточнение:
    - добвлена FSF.GetCurrentDirectory - возвращает внутренний "текущий каталог" far;
    - FCTL_GETCURRENTDIRECTORY переименована в FCTL_GETPANELDIR, ибо этим и является.

    Плагины не сломались, но лучше их таки пересмотреть и при необходимости заменить FCTL_GETCURRENTDIRECTORY на FSF.GetCurrentDirectory.

--------------------------------------------------------------------------------
drkns 2009-10-23 22:51:44+02:00 - build 1179

1. Mantis#0001137: Deletion of directories with links.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001137: Удаление директорий, в которых есть ссылки.

--------------------------------------------------------------------------------
t-rex 2009-10-23 12:34:50+02:00 - build 1178

1. The stack size is restored, because the bug has been located in TmpPanel.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Вернём назад нормальный размер стека, ибо бага она в TmpPanel.

--------------------------------------------------------------------------------
chupakabra 2009-10-22 22:16:00+02:00 - build 1177

1. Stack size has increased (to prevent tmppanel crash after MAX_PATH to NT_MAX_PATH change)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Увеличен размер стека (а то tmppanel стала падать после замены MAX_PATH на NT_MAX_PATH)

--------------------------------------------------------------------------------
drkns 2009-10-21 22:31:01+02:00 - build 1176

1. Mantis#0001131: Excessive subfolders scan in symlink deletion

2. Bug in folders rename by mask.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001131: Лишнее сканирование подкаталогов при удалении символической связи

2. Криво обрабатывалось переименование папок по маске.

--------------------------------------------------------------------------------
svs 2009-10-21 18:08:30+03:00 - build 1175

1. Missing space between Fn and item in UserMenu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В UserMenu "пропало" расстояние между "F10" и "Этим пунктом".

--------------------------------------------------------------------------------
drkns 2009-10-20 20:35:25+02:00 - build 1174

1. The progress bar is shown while deleting.

2. Mantis#0001112: Copy/move conflict (folder or file)

3. If access to folder was denied, attempt to enter the folder returned wrong error code.

4. ".." is not shown at the root of UNC-path.

5. printf, type correction etc.

6. Owner wasn't displayed for paths deeper than MAX_PATH.
In future, when passing file objects names into Windows API functions, use NTPath class, it appends properly formatted "curdir" to object.

7. Folder encryprion didn't work.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При удалении файлов/папок отображается прогресс.

2. Mantis#0001112: Конфликт копирования/перемещения (папка или файл)

3. При отсутствии доступа к папке при попытке входа в неё выдавался неправильный код ошибки.

4. В корнях UNC-путей не показывается элемент "..".

5. printf, коррекция типов и т. п.

6. Показ овнера не работал для путей глубже MAX_PATH.
   На будущее - при передаче имён файловых объектов в функции Windows API используйте класс NTPath, он сам добавит объекту "curdir" в правильном формате.

7. Не работало шифрование папок.

--------------------------------------------------------------------------------
svs 2009-10-20 17:03:59+03:00 - build 1173

1. `Owner' is not shown in panels (Ctrl-8)
Added "curdir" to object which is being tested.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не показывает Owner в панелях (Ctrl-8)
   Добавим "curdir" тестируемому объекту.

--------------------------------------------------------------------------------
svs 2009-10-19 11:41:50+03:00 - build 1172

1. Mantis#0001030: Unexpected change of attributes in file FARMENU.INI

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001030: Несанкционированная смена атрибутов файла FARMENU.INI

--------------------------------------------------------------------------------
chupakabra 2009-10-18 20:45:00+02:00 - build 1171

1. Fixed the recursive symlinks check mechanism.

2. ScanTree must not enter symlinks while deleting.

3. Minor changes in ConvertNameToReal().

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Поправлен механизм проверки рекурсивных симлинков.

2. При удалении ScanTree не должен заходить в симлинки.

3. Незначительные изменения в ConvertNameToReal().

--------------------------------------------------------------------------------
drkns 2009-10-16 06:24:11+02:00 - build 1170

1. Forgotten debug code :)

--------------------------------------------------------------------------------
drkns 2009-10-16 00:08:51+02:00 - build 1169

1. Fix for 1167.

--------------------------------------------------------------------------------
chupakabra 2009-10-15 23:47:00+02:00 - build 1168

1. Mantis#0001094: Problem with deleting directories over the network.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001094: Проблема при удалении каталогов по сети.

--------------------------------------------------------------------------------
drkns 2009-10-15 19:12:29+02:00 - build 1167

1. Mantis#0001113: Filling the screen with '?' symbols.

2. Continue `printf' removal from problematic places.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001113: Заполнение экрана символами '?'.

2. Продолжаем давить printf в проблемных местах.

--------------------------------------------------------------------------------
drkns 2009-10-15 00:46:56+02:00 - build 1166

1. TechInfo #10, cheater options [Alt]EditorKey, [Alt]CmdLineKey, [Alt]DialogKey, [Alt]FastFindKey are removed .

Hotkeys for XLat are now assigned with fair macros, for example:
-------------------------------------------------------------
REGEDIT4

[HKEY_CURRENT_USER\Software\Far2\KeyMacros\Common\CtrlShiftX]
"Sequence"="$XLat"
-------------------------------------------------------------
AltR.reg, Apps.reg, CtrlR.reg, CtrlShiftX.reg in addons\XLat\Russian are rewritten with the use of macros.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Из TechInfo #10 убраны читерские опции [Alt]EditorKey, [Alt]CmdLineKey, [Alt]DialogKey, [Alt]FastFindKey.

   Кнопкосочетания для XLat теперь настраиваются честными макросами, примерно так:
   -------------------------------------------------------------
   REGEDIT4

   [HKEY_CURRENT_USER\Software\Far2\KeyMacros\Common\CtrlShiftX]
   "Sequence"="$XLat"
   -------------------------------------------------------------
   AltR.reg, Apps.reg, CtrlR.reg, CtrlShiftX.reg в addons\XLat\Russian переведены на использование макроязыка.

--------------------------------------------------------------------------------
drkns 2009-10-14 19:25:48+02:00 - build 1165

1. Warnings (level 4).

2. VirtualFindData for ANSI plugins.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Warnings (level 4).

2. <Get|Free>VirtualFindData для A-плагинов.

--------------------------------------------------------------------------------
drkns 2009-10-13 22:34:34+02:00 - build 1164

1. Warnings.

--------------------------------------------------------------------------------
drkns 2009-10-13 22:26:59+02:00 - build 1163

1. Mantis#0000789: On Viewer open, panels are seen through text
Mantis#0000978: Some unprintable characters "eat" text when viewing in UTF-16

The cause is 0xffff (WEOF), *printf doesn't handle it and never will, thus a replacement is written: classes FormatString and FormatScreen.
They are capable of width, precision, align, strings and integers so far.
For viewer/editor this must be enough, other things will be done in future.

2. Sometimes commands like "cd driveletter:" didn't work.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000789: После открытия Viewer под текстом "проглядывается" текст от панелей
   Mantis#0000978: Какие-то неотображаемые символы "съедают" текст при просмотре в UTF-16

  Гадит 0xffff (WEOF), *printf нормально с ним не работает и работать не будет, посему для него написана "замена": классы FormatString и FormatScreen.
  Пока что "умеют" width, precision, align, работают со строками и целыми числами.
  Вьюверу/редактору этого должно хватить, в остальных местах - со временем.

2. Иногда не срабатывали команды типа "cd буква_диска:"

--------------------------------------------------------------------------------
chupakabra 2009-10-13 03:00:00+02:00 - build 1162

1. Addition to build 1161.

--------------------------------------------------------------------------------
chupakabra 2009-10-13 02:14:00+02:00 - build 1161

1. Fixed the behaviour of ConvertNameToReal() on volumes with no unique identifier.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Скорректирована работа ConvertNameToReal() для дисков, не имеющих уникального идентификатора тома.

--------------------------------------------------------------------------------
drkns 2009-10-11 21:50:10+02:00 - build 1160

1. PutFilesW now looks this way:
int WINAPI PutFilesW(
     HANDLE hPlugin,
     struct PluginPanelItem *PanelItem,
     int ItemsNumber,
     int Move,
     const wchar_t *SrcPath,
     int OpMode
   );
where SrcPath is the path to source where we get files.

Plugins which use PutFilesW have been broken as usual :)

2. Mantis#0001090: Panel with forward slashes becomes "nonfunctional".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. PutFilesW теперь выглядит так:

   int WINAPI PutFilesW(
     HANDLE hPlugin,
     struct PluginPanelItem *PanelItem,
     int ItemsNumber,
     int Move,
     const wchar_t *SrcPath,
     int OpMode
   );

   где SrcPath - путь источника (откуда получим файлы).

   Плагины, использующие PutFilesW - сломались, как обычно :)

2. Mantis#0001090: Панель с прямыми слешами становится "нерабочей".

--------------------------------------------------------------------------------
svs 2009-10-07 17:30:36+03:00 - build 1159

1. Mantis#0001099: Find out if there is an element without a hotkey
N=checkhotkey(S[,N1])
return value:
-1 - wrong area
0 - no elements
>0 - position of found element

Parameter #1 - position to start search from.
If S is an empty string, then the function returns -1, 0 or the index of position with missing hotkey.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001099: Узнать, есть ли элемент без горячей клавиши
     N=checkhotkey(S[,N1])

     возвращает:
     -1 - не в своей области
      0 - нет такого
     >0 - позицию элемента

     Параметр N1 - с какой позиции начать искать
     Если S пустая строка, то функция возвращает -1, 0 или номер позиции, у которой отсутствует хоткей

--------------------------------------------------------------------------------
svs 2009-10-06 20:51:50+03:00 - build 1158

1. Macro: CheckHotkey() works in "Dialog" area.
If current element is ListBox or opened Combobox (opened History), then CheckHotkey() works with it.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: CheckHotkey() работает в области "Dialog".
   Если текущий элемент ListBox или открытый Combobox (или открытый History), то CheckHotkey() работает с этим элементов.

--------------------------------------------------------------------------------
chupakabra 2009-10-05 20:49:00+02:00 - build 1157

1. Current directory updating for plugins with OPIF_REALNAMES.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Обновляем текущий каталог для плагинов с OPIF_REALNAMES.

--------------------------------------------------------------------------------
svs 2009-10-05 17:12:13+03:00 - build 1156

1. Mantis#0000956: some plugins are marked with letter "A"; nevertheless, help doesn't tell a word about this.
from igor_yudincev.

2. Mantis#0001095: `Title' state (current object's header) is empty when called from panels

3. Mantis#0001088: Paths in Far launch command line vs slash (\)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000956: напротив некоторых плагинов в списке стит буква "А". В хелпе об этом ни слова.
   from igor_yudincev.

2. Mantis#0001095: Состояние Title (заголовок текущего объекта) пуст при вызове из панелей

3. Mantins#0001088: Пути в командной строке запуска Фара и слеш (\)

--------------------------------------------------------------------------------
chupakabra 2009-10-05 12:36:00+02:00 - build 1155

1. Fixed an issue with ConvertNameToReal() at dynamic volumes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Исправлена проблема в ConvertNameToReal() при работе с динамическими дисками.

--------------------------------------------------------------------------------
drkns 2009-09-30 20:43:48+02:00 - build 1154

1. 1153.1 correction for the case of empty disk root directory.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение 1153.1 для случая корневого каталога пустого диска.

--------------------------------------------------------------------------------
drkns 2009-09-29 18:07:44+02:00 - build 1153

1. apiSetCurrentDirectory always returned TRUE, even if target directory didn't exist.
As a consequence, there was a possibility to enter nonexisting folders.
Also, Mantis#0001078: FCTL_SETPANELDIR succeeds for nonexisting path erroneously.

2. If titlebar is off in editor/viewer, there's no need to draw a clock.

3. As hex-view in UTF8 doesn't work anyway, prohibit this combination at all, to stop the flood of boring bugreports.

4. Some make-up: pass '*' into FindFirstFile, instead of '*.*'.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. apiSetCurrentDirectory всегда возвращал TRUE, даже если искомый каталог отсутствовал.
   Как следствие - можно было "заходить" в несуществующие папки.
   Сюда же Mantis#0001078: FCTL_SETPANELDIR ошибочно успешно отрабатывает для несуществующего пути.

2. Если в редакторе/просмотре отключен titlebar, то и часы на нём рисовать не надо.

3. Так как hex-просмотр текста в UTF8 сейчас не работает чуть менее, чем совсем - запретим эту комбинацию вообще, во избежание однообразных унылых багрепортов.

4. Косметика: в FindFirstFile передаём '*' вместо '*.*'.

--------------------------------------------------------------------------------
svs 2009-09-29 11:50:38+03:00 - build 1152

1. Mantis#0001064: Error in string handling
Next correction of operations:
1. string + string = string
2. string + num = string
3. num + string = string
4. strnum + string = string
5. string + strnum = string
6. num + strnum = num
7. strnum + num = num

i.e. (forcing conversion to string):
msgbox("1" + 0) ==> 1
msgbox(1 + "2") ==> 3
msgbox("foo1" + 0) ==> "foo10"
msgbox(string(1) + "2") ==> "12"
%i=1; msgbox("0" + string(%i)) ==> "01"
%i=1; msgbox(int("012ag") + %i) ==> 13
%i=1; msgbox(string(int("012ag")) + %i) ==> 13
%i=1; msgbox(string(int("012ag")) + string(%i)) ==> "121"

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001064: Error in string handling
   Очередное уточнение операций:
     1. string + string = string
     2. string + num = string
     3. num + string = string
     4. strnum + string = string
     5. string + strnum = string
     6. num + strnum = num
     7. strnum + num = num

   Т.е. (применяем принудительное преобразование к string):
     msgbox("1" + 0) ==> 1
     msgbox(1 + "2") ==> 3
     msgbox("foo1" + 0) ==> "foo10"
     msgbox(string(1) + "2") ==> "12"
     %i=1; msgbox("0" + string(%i)) ==> "01"
     %i=1; msgbox(int("012ag") + %i) ==> 13
     %i=1; msgbox(string(int("012ag")) + %i) ==> 13
     %i=1; msgbox(string(int("012ag")) + string(%i)) ==> "121"

--------------------------------------------------------------------------------
zg 2009-09-28 20:33:47+02:00 - build 1151

1. Edit::WordDiv was set to the value Editor::WordDiv::m_pData::m_pData.
If plugin changed editor's WordDiv to greater value, the memory
was reallocated, and Edit::WordDiv pointed to nothing.

2. In editor, when the clock was off and codepage was non-unicode, the parentheses in status string were cut.

3. gcc warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Edit::WordDiv устанавливался в значение Editor::WordDiv::m_pData::m_pData.
   если плагин менял WordDiv редактору на большее по размеру значение, память
   переаллоцировалась и Edit::WordDiv указывал в пустоту.

2. при выключенных часах в редакторе и неуникодном тексте обрезалась скобка в строке статуса.

3. gcc warnings.

--------------------------------------------------------------------------------
drkns 2009-09-28 20:02:46+02:00 - build 1150

1. From Tim Sobolev: Mantis#0001074: It was impossible to create/edit/view file with name started with 2 or more '.'

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. From Tim Sobolev: Mantis#0001074: Impossible to create/edit/view file with name started with 2 or more '.'

--------------------------------------------------------------------------------
svs 2009-09-28 20:59:21+03:00 - build 1149

1. Mantis#0001070: XLat: keyboard layout switching when more than 2 layouts are available
Added [HKEY_CURRENT_USER\Software\Far2\XLat]"Layouts" - the string that contains enumeration of HKL of layouts to be "rolled", th delimiter is ';'
For ex., "Layouts"="04090409;04190419" (or "Layouts"="0409;0419")
If less than two are mentioned, then this behaviour is switched off, and layouts are switched like before.
Far reads first 10 values for "Layouts", others are ignored (I think this would be enough :-).

Also, the comment on rules is added (to stop looking for it :-)

2. Mantis#0001064: Error in string handling
Macro: Here, if there's "string1 operation string2", then the result is string (for '+' it is concatenation, for others it is "string1")

3. Macro: Five indices added for Editor.Set() (first parameter):
15: Show scrollbar
16: Allow editing files opened for writing
17: Select found (in search)
18: Regular expressions (in search)
19: Pick up the word (in search)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001070: XLat: переключение раскладки клавиатуры при наличии в системе более 2 раскладок
   Добавлен [HKEY_CURRENT_USER\Software\Far2\XLat]"Layouts" - строка, перечисляющая через ';' HKL раскладок, которые нужно "крутить"
   Например, "Layouts"="04090409;04190419" (или "Layouts"="0409;0419")
   Если указано меньше двух, то механизм "отключается" и раскладки крутятся как и раньше.
   Far для "Layouts" считывает первые 10 значений, остальные, если есть, игнорируются (думаю - за глаза хватит :-).

   Так же добавлен комментарий (чтобы не искать больше :-) про правила...

2. Mantis#0001064: Error in string handling
   Macro: Здесь, если "string1 операция string2", то результат как string (для '+' - объединение строк, для остальных "string1")

3. Macro: Для Editor.Set() добавлены 5 индексов (первый параметр):
      15: Show scrollbar
      16: Allow editing files opened for writing
      17: Select found (в поиске)
      18: Regular expressions (в поиске)
      19: Pick up the word (в поиске)

--------------------------------------------------------------------------------
drkns 2009-09-27 22:50:36+02:00 - build 1148

1. Sometimes Far could crash if the console window was maximized at start.

2. FSF.ConvertNameToReal doesn't exist anymore. However, there is FSF.ConvertPath(CONVERTPATHMODES Mode,const wchar_t *Src, wchar_t *Dest, int DestSize)
In Mode=CPM_REAL it works like ConvertNameToReal;
In Mode=CPM_FULL it works like ConvertNameToFull.

Achtung: use of GetFullPathNameW for relative to absolute path conversion is wrong after build #1145, use ConvertPath(CPM_FULL, ...) instead.

3. gettable.?pp -> codepage.?pp

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Фар иногда мог схлопываться, если при старте окно консоли было максимизировано.

2. FSF.ConvertNameToReal больше нет. А есть FSF.ConvertPath(CONVERTPATHMODES Mode,const wchar_t *Src, wchar_t *Dest, int DestSize)
   При Mode=CPM_REAL работает как ConvertNameToReal;
   при Mode=CPM_FULL работает как ConvertNameToFull.

   Ахтунг: использовать GetFullPathNameW для преобразования относительного пути в абсолютный после 1145 билда нельзя, используйте ConvertPath(CPM_FULL, ...).

3. gettable.?pp -> codepage.?pp

--------------------------------------------------------------------------------
garry 2009-09-27 22:54:30+03:00 - build 1147

1. Mantis#0001017 A more common solution is done, i.e. codepage support is checked in both editor and viewer, and not only at autodetection, but also at codepage retrieval from cache;

2. A small refactoring connected with recode tables: function names and replacing Table -> CodePage;

3. From now, const UnicodeString& UnicodeString::SetData(const UnicodeString &strCopy) does not crash Far when provided with NULL;

4. TechInfo #80 (See build #1019).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001017  Сделано более общее решение, т.е. поддерживается или нет кодовая страница
   проверяется как в редакторе так и во вьювере и не только при автодетекте, но и при загрузке
   кодовой страницы из кэша;

2. Небольшой рефакотринг связанный с таблицами перекодировки: имена функций, а также замена
   Table -> CodePage;

3. Теперь const UnicodeString& UnicodeString::SetData(const UnicodeString &strCopy) не роняет
   фар, если туда передать NULL;

4. TechInfo #80 (См. сборку #1019).

--------------------------------------------------------------------------------
drkns 2009-09-27 08:56:45+02:00 - build 1146

1. Take into account that if prefix \\?\ is used in paths then Windows' AI which replaces '/' to '\' is switched off, so you have to do it yourself.

2. At start, inner strCurrentDirectory is initialized with process' current directory, for those /e and /p to work.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Учитываем, что при использовании префикса \\?\ в путях windows отключает ИИ, заменяющий '/' на '\', посему менять надо самостоятельно.

2. При старте внутренняя strCurrentDirectory инициируется текущим каталогом процесса, дабы работали всякие /e и /p.

--------------------------------------------------------------------------------
drkns 2009-09-27 01:05:56+02:00 - build 1145

1. From Tim Sobolev: own implementation of ConvertNameToFull.
GetFullPathName problems must have been fixed now: special names (nul, con etc.), points/spaces at the end of the names etc.

2. From now, Far doesn't use SetCurrentDirectory in folder navigation.
The bonuses follow:
- walking on folders deeper than MAX_PATH;
- entering folders with trailing points, spaces and other nightmares;
- folder opened on panel is not blocked from outer deletion;
- et cetera.
Accordingly, bugs are expected to appear. Be careful.

For OEM plugins, though, the current directory is set before calling their exported functions, for compatibility.

For Unicode plugins nothing is set.
Thus, some careless plugins can malfunction somehow.
It's still not too late to repent and start using FCTL_GETCURRENTDIRECTORY.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. From Tim Sobolev: собственная реализация ConvertNameToFull.
   Должны починиться все проблемы, связанные с использованием GetFullPathName: спец. имена (nul, con и т. п.), точки/пробелы в конце имён и т. п.

2. Свершилось то, о чём так долго говорили большевики - far не использует SetCurrentDirectory при навигации по папкам.
   Как следствие, бонусы:
     - хождение по папкам глубже MAX_PATH;
     - вход в папки, оканчивающиеся точками, пробелами, и прочими ужасами;
     - папка, открытая на панели, не блокируется от удаления извне;
     - и прочее.
   Соотвественно, могут проявиться и баги. Соблюдаем осторожность.

   Для оемных плагинов текущий каталог всё же выставляется перед вызовом их экспортируемых функций.
   Ибо совместимость.

   Для уникодных плагинов ничего не выставляется.
   Посему некоторые нерадивые плагины могут разнообразно глючить.
   Ещё не поздно исправиться и начать использовать FCTL_GETCURRENTDIRECTORY.

--------------------------------------------------------------------------------
svs 2009-09-26 19:07:24+03:00

1. Mantis#0000986: Far 2 API - pascal
from: max rusov
PluginW.pas: Added RegExp support

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000986: Far 2 API - pascal
    from: max rusov
      PluginW.pas: Добавил поддержку RegExp'ов

--------------------------------------------------------------------------------
zg 2009-09-26 17:05:26+02:00 - build 1144

1. Continue Mantis#0000921: Problems with ECTL_SAVEFILE.

2. When `save as` at editor was invoked, the editor and console titles didn't
show new filename at once.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. продолжение Mantis#0000921: Проблемы с ECTL_SAVEFILE.

2. при save as из редактора заголовок редактора и консоли не
   сразу обновлялись новым именем файла.

--------------------------------------------------------------------------------
zg 2009-09-26 14:24:24+02:00 - build 1143

1. Fix of #1136 for non-existing codepages.

--------------------------------------------------------------------------------
zg 2009-09-25 22:59:27+02:00 - build 1142

1. Mantis#0000921: Problems with ECTL_SAVEFILE.

--------------------------------------------------------------------------------
svs 2009-09-25 18:00:55+03:00 - build 1141

1. Mantis#0001068: Two "R" hotkeys in replace dialog.

2. Mantis#0001063: List of all user-defined macros is added to built-in help.

3. Mantis#0001066: [x] Pick up the word in editor

4. Updated Help on RegExp`s.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001068: В диалоге замены два хоткея "R"

2. Mantis#0001063: Добавление в help-файл списка всех макрокомбинаций

3. Mantis#0001066: [x] Pick up the word in editor

4. Добавка в Help`ы по RegExp`ам

--------------------------------------------------------------------------------
zg 2009-09-25 16:25:35+02:00 - build 1140

1. At replace with regexps, if parentheses are not found, they are replaced to an empty string.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. при замене с регэкспами если указанной скобки нет, то она меняется на пустую строку.

--------------------------------------------------------------------------------
zg 2009-09-24 23:52:29+02:00 - build 1139

1. f6 in editor and viewer keeps current codepage.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. f6 в редакторе просмотре сохраняет текущую кодовую страницу.

--------------------------------------------------------------------------------
zg 2009-09-24 23:40:59+02:00 - build 1138

1. Now plugins in Viewer/Editor can set codepages.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. плагины в Viewer/Editor могут теперь передавать конкретные кодовые страницы.

--------------------------------------------------------------------------------
zg 2009-09-24 22:19:38+02:00 - build 1137

1. In regexp-enabled replace, one can refer from replace string to parentheses in search string: $0-$9,$A-$Z.
any other sequence $* is replaced with *.

2. Replace confirmation dialog displays string actually found, instead of regexp.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. при замене с регэкспами можно в строке замены ссылаться на скобки в строке поиска: $0-$9,$A-$Z.
   любая другая последовательность $* заменяется на *.

2. при замене в диалоге подтверждения показывается реально найденная строка, а не регэксп.

--------------------------------------------------------------------------------
zg 2009-09-24 21:02:09+02:00 - build 1136

1. The simplest ESPT_CODEPAGE implementation.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. простейшая имплементация ESPT_CODEPAGE.

--------------------------------------------------------------------------------
zg 2009-09-24 19:03:28+02:00 - build 1135

1. RegExp API

RegExpControl(HANDLE hHandle, int Command, LONG_PTR Param)

Command:

RECTL_CREATE - hHandle - 0.
Param - HANDLE*, that receives the regexp HANDLE.
On error returns FALSE and Param=INVALID_HANDLE_VALUE.
RECTL_FREE - hHandle - HANDLE returned by RECTL_CREATE.
RECTL_COMPILE - hHandle - HANDLE returned by RECTL_CREATE.
Param - pointer to regexp string.
RECTL_OPTIMIZE - hHandle - HANDLE returned by RECTL_CREATE.
RECTL_MATCHEX - hHandle - HANDLE returned by RECTL_CREATE.
Param - pointer to RegExpSearch.
RegExpSearch:
Text - string.
Position - string position.
Length - length of string.
Match - parentheses.
Count - number of parentheses.
Reserved - must be zero.
RECTL_SEARCHEX - hHandle - HANDLE returned by RECTL_CREATE.
Param - pointer to RegExpSearch.
RECTL_BRACKETSCOUNT - hHandle - HANDLE returned by RECTL_CREATE.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. RegExp API

   RegExpControl(HANDLE hHandle, int Command, LONG_PTR Param)

   Command:

   RECTL_CREATE           - hHandle - 0.
                            Param - HANDLE*, в который запишется HANDLE регэкспа.
                            При неудаче вернёт FALSE и Param=INVALID_HANDLE_VALUE.
   RECTL_FREE             - hHandle - HANDLE, который вернул RECTL_CREATE.
   RECTL_COMPILE          - hHandle - HANDLE, который вернул RECTL_CREATE.
                            Param - указатель на строку с регулярным выражением.
   RECTL_OPTIMIZE         - hHandle - HANDLE, который вернул RECTL_CREATE.
   RECTL_MATCHEX          - hHandle - HANDLE, который вернул RECTL_CREATE.
                            Param - указатель на RegExpSearch.
                            RegExpSearch:
                            Text - строка.
                            Position - позиция в строке.
                            Length - длина строки.
                            Match - скобки.
                            Count - количество скобок.
                            Reserved - обязательно должен быть нулём.
   RECTL_SEARCHEX         - hHandle - HANDLE, который вернул RECTL_CREATE.
                            Param - указатель на RegExpSearch.
   RECTL_BRACKETSCOUNT    - hHandle - HANDLE, который вернул RECTL_CREATE.

--------------------------------------------------------------------------------
svs 2009-09-22 21:07:01+03:00 - build 1134

1. Macro: Mantis#1064
   msgbox("01") displays "1" in header, instead of "01".
   The rest conforms the specification (see build 1127#6).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: по мотивам Mantis#1064
   msgbox("01") выводит в заголовке "1" вместо "01"
   Остальное согласно спецификации (см. build 1127#6)

--------------------------------------------------------------------------------
drkns 2009-09-20 23:50:53+02:00 - build 1133

1. While copying/moving multiple files, if destination name has no trailing slash and destination itself doesn't exist, then Far shows an additional query, whether destination means folder or file.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Если при копировании/переносе нескольких файлов в имени приемника отсутствует заключительный слеш, и сам приемник
   при этом отсутствует - выдаётся уточняющий запрос: под "приемником" подразумевается папка или файл?

--------------------------------------------------------------------------------
zg 2009-09-19 01:53:37+02:00 - build 1132

1. Macros which had been launched by plugin from ProcessSynchroEvent didn't run always.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. макросы, запущенные плагином из ProcessSynchroEvent, не всегда исполнялись.

--------------------------------------------------------------------------------
chupakabra 2009-09-17 13:24:00+02:00 - build 1131

1. An addition to build 1130.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Дополнение к исправлению UserMenu из build 1130.

--------------------------------------------------------------------------------
svs 2009-09-17 12:40:39+03:00 - build 1130

1. from Alexey Samlyukov:
UserMenu draws long submenu captions incorrectly (if they don't fit the screen)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. from Alexey Samlyukov:
   В UserMenu некорректно отрисовывается длинное название субменю (если не вмещается в размеры экрана)

--------------------------------------------------------------------------------
chupakabra 2009-09-14 19:03:00+02:00 - build 1129

1. SELF_TEST(code) macro, intended to automatic code testing. The code is launched when debug version starts.
Module pathmix is appended with testing procedure for some functions.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Макро SELF_TEST(code), предназначенное для автоматического тестирования кода. code выполняется при запуске отладочной версии.
   В модуль pathmix добавлена процедура тестирования некоторых функций.

--------------------------------------------------------------------------------
zg 2009-09-15 20:52:39+02:00 - build 1128

1. gcc build.

2. gcc warnings.

--------------------------------------------------------------------------------
svs 2009-09-15 20:37:40+03:00 - build 1127

(lots of formatting - spaces to tabs)

1. Macros are loaded after plugins (it is necessary for successive changes in macro engine)

2. keys.hpp: KEY_MACRO_U_BASE - place is reserved for Mantis#18 and Mantis#466

3. EnumRegValueEx() - added an argument: the type of enumerated value

4. Macro: Menu.Value - contains current menu item text as it is displayed on screen (w/o &)

5. Macro: added type double
   Was __int64 and wchar_t*, now double is added. Actually, there's nothing to say more, but:
    * fraction part divider is `.' (point);
    * there's no functions like sin, cos, tan, etc. - this is for Mantis#0000466 and Mantis#0000018;
    * the number occupies 8 bytes in memory;
    * registry constants (branch "KeyMacro\Const") with REG_SZ type (according to (2) Far translates them to double on launch) this is lame (maybe it would be smart to store them as REG_BINARY);
    * double-to-string translation follows the format "KeyMacro/CONVFMT:REG_SZ" (default is "%.6g")

6. Macro: correction of "operations".
    Starting from definitions::
        * Int - an integer number;
        * Dbl - a floatiog-point number;
        * StrInt - string, which can be fully translated to Int;
        * StrDbl - string, which can be fully translated to Dbl;
        * Str - any other string, actually, the set of chars.
    According to these definitions, string to number translation and calculation of result takes place where possible. Below are tables showing the results of those operations:

              +     |B.Int    B.Dbl  B.StrInt  B.StrDbl   B.Str
          ----------+------+--------+---------+----------+------
          A.Int     |Int      Dbl    Int       Dbl        Str
          A.Dbl     |Dbl      Dbl    Dbl       Dbl        Str
          A.StrInt  |Int      Dbl    Int       Dbl        Str
          A.StrDbl  |Dbl      Dbl    Dbl       Dbl        Str
          A.Str     |Str      Str    Str       Str        Str
         Here Str means concatenation of two operands.

           - * / %  |B.Int    B.Dbl  B.StrInt  B.StrDbl   B.Str
          ----------+------+--------+---------+----------+------
          A.Int     |Int      Dbl    Int       Dbl        A.Str
          A.Dbl     |Dbl      Dbl    Dbl       Dbl        A.Str
          A.StrInt  |Int      Dbl    Int       Dbl        A.Str
          A.StrDbl  |Dbl      Dbl    Dbl       Dbl        A.Str
          A.Str     |A.Str    A.Str  A.Str     A.Str      A.Str
         Here A.Str means that the value of operand A is returned.

         For binary operations, Dbl or StrDbl operands are translated to Int beforehand.

           Op       |B.Int    B.Dbl  B.StrInt  B.StrDbl   B.Str
          ----------+------+--------+---------+----------+------
          A.Int     |Int      Int    Int       Int        A.Str
          A.Dbl     |Int      Int    Int       Int        A.Str
          A.StrInt  |Int      Int    Int       Int        A.Str
          A.StrDbl  |Int      Int    Int       Int        A.Str
          A.Str     |A.Str    A.Str  A.Str     A.Str      A.Str
         Here "Op" is | & ^ << >>

         In comparison operations (==, !=, <, <=, >, >=), the operands are translated (if possible) and compared.
         In logical OR and AND the operands are compared as is, strings are not translated to StrInt and StrDbl, instead they are checked on non-emptiness.

7. Macro: Editor.SelValue - the content, like Far puts block into clipboard (text block with crlf at line ends)

8. Macro: function "Menu.Select" looks like "N=Menu.Select(S[,N[,Dir]])" - the 3rd parameter is added, the direction of search, Dir:

    * 0 - from the beginning to the end of list;
    * 1 - from the current position to the beginning;
    * 2 - from the current position to the end of menu items list.

9. Help understands macros <!Macro:Vars!> and <!Macro:Consts!>, look for `"// for <!Macro:Vars">' in lng files - this is the output format

10. If Far is given keys /e or /v, the macros from the following regions are not loaded: Shell, Search, Disks, MainMenu, InfoPanel, QviewPanel, TreePanel, FindFolder

11. Mantis#0001057: Far Manager version 1.75 build 2605, x86 Crash when choosing Alt+F1/Alt+F2 -> Process List
    If plugin has nonsense in registry value StartPanelMode, then panel mode 0 is forced
    (this hack is for a while, until static array is removed)

· · · · · · · · · · · · · · · · · · · · · · · · ·

(много форматирования - пробелы на табы)

1. Макросы грузяться после плагинов (необходимо для последующих реализация в макродвижке)

2. keys.hpp: KEY_MACRO_U_BASE - резервирование места под Mantis#18 и Mantis#466

3. EnumRegValueEx() - добавлен агрумент: тип енуменированного значения

4. Macro: Menu.Value - содержит текст текущего пункта меню, как он виден на экране (без &)

5. Macro: добавлен тип double
   Было __int64 и wchar_t*, добавился double. Собственно и говорить то нечего, кроме:
    * разделитель целой и дробной частей - точка;
    * функций sin, cos, tan, etc. нет - это скорее дело для Mantis#0000466 и Mantis#0000018;
    * в памяти такое число занимает 8 байт;
    * константы в реестре (ветка "KeyMacro\Const") в виде REG_SZ (в соответствии с п.2 Far сам преобразует их в double  в момент старта) это криво (может имеет смысл хранить в REG_BINARY?);
    * преобразование double в строку осуществляется по формату "KeyMacro/CONVFMT:REG_SZ" (по умолчанию "%.6g")

6. Macro: уточнение "операций".
    Для начала определения:
        * Int - целое число;
        * Dbl - вещественное число;
        * StrInt - строка, которая полностью преобразуется в Int;
        * StrDbl - строка, которая полностью преобразуется в Dbl;
        * Str - строка, которая не может быть полностью преобразована в Int или Dbl (собственно, просто набор символов).
    В соответствии с этими определениями, там, где это возможно, происходит преобразование строки в число и выполнение операции. Дальше приведены таблицы, показывающие результаты работы операций:

              +     |B.Int    B.Dbl  B.StrInt  B.StrDbl   B.Str
          ----------+------+--------+---------+----------+------
          A.Int     |Int      Dbl    Int       Dbl        Str
          A.Dbl     |Dbl      Dbl    Dbl       Dbl        Str
          A.StrInt  |Int      Dbl    Int       Dbl        Str
          A.StrDbl  |Dbl      Dbl    Dbl       Dbl        Str
          A.Str     |Str      Str    Str       Str        Str
         Здесь Str обозначает конкатенацию двух операндов.

           - * / %  |B.Int    B.Dbl  B.StrInt  B.StrDbl   B.Str
          ----------+------+--------+---------+----------+------
          A.Int     |Int      Dbl    Int       Dbl        A.Str
          A.Dbl     |Dbl      Dbl    Dbl       Dbl        A.Str
          A.StrInt  |Int      Dbl    Int       Dbl        A.Str
          A.StrDbl  |Dbl      Dbl    Dbl       Dbl        A.Str
          A.Str     |A.Str    A.Str  A.Str     A.Str      A.Str
         Здесь A.Str - возвращается значение операнда A.

         Для бинарных операций операнды Dbl или StrDbl предварительно преобразуется к Int.

           Op       |B.Int    B.Dbl  B.StrInt  B.StrDbl   B.Str
          ----------+------+--------+---------+----------+------
          A.Int     |Int      Int    Int       Int        A.Str
          A.Dbl     |Int      Int    Int       Int        A.Str
          A.StrInt  |Int      Int    Int       Int        A.Str
          A.StrDbl  |Int      Int    Int       Int        A.Str
          A.Str     |A.Str    A.Str  A.Str     A.Str      A.Str
         Здесь "Op"  | & ^ << >>

         В операциях сравнения (==, !=, <, <=, >, >=) операнды преобразуются (там, где это возможно) и сравниваются.
         В логических OR и AND операнды сравниваются как есть, строки не преобразуются в StrInt и StrDbl, а проверяются на не пустую строку.

7. Macro: Editor.SelValue - содержимое аналогично тому, как Far помещает блок в clipboard (блок текста с наличием crlf в конце строк)

8. Macro: функции "Menu.Select" имеет вид "N=Menu.Select(S[,N[,Dir]])" - добавлен третий параметр, направление поиска, Dir:

    * 0 - от начала в конец списка;
    * 1 - от текущей позиции в начало;
    * 2 - от текущей позиции в конец списка пунктов меню.

9. в хелпе работают макроконструктивы <!Macro:Vars!> и <!Macro:Consts!>, в lng-файлах  ищем "// for <!Macro:Vars" - задают форматы вывода

10. Если Far стартован с ключами /e или /v, то не грузятся макросы из следующих макрообластей: Shell, Search, Disks, MainMenu, InfoPanel, QviewPanel, TreePanel, FindFolder

11. Mantis#0001057: Far Manager версия 1.75 build 2605, x86 При выборе Alt+F1/Alt+F2 -> Process List Вылетает
    Если в реестре у плагина в значении StartPanelMode пурга, принудительно выставляем нулевой режим панели
    (решение пока влоб, а там, после ухода от статического массива, видно будет)

--------------------------------------------------------------------------------
zg 2009-09-15 18:23:10+02:00 - build 1126

1. Mantis#0001058: The range for character class doesn't work for Cyrillic characters
RegExp::Optimize cuts Unicode to first 256 characters.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001058: Диапазон для класса знаков не работает для русских букв
   RegExp::Optimize урезал уникод до первых 256 символов.

--------------------------------------------------------------------------------
drkns 2009-09-14 19:19:36+02:00 - build 1125

1. The file attributes change could lead to crash.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Установка атрибутов в некоторых случаях могла приводить к падению.

--------------------------------------------------------------------------------
chupakabra 2009-09-14 19:03:00+02:00 - build 1124

1. Mantis#0001055 & Mantis#0001056: Problems with changing to root folder (Ctrl+\).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001055 & Mantis#0001056: Проблемы при переходе в корневую папку (Ctrl+\).

--------------------------------------------------------------------------------
drkns 2009-09-13 23:57:35+02:00 - build 1123

1. Applying `#pragma once' instead of `include guard'. This must improve the compilation time.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Применяем #pragma once вместо include guard. Должно положительно отразиться на времени компиляции.

--------------------------------------------------------------------------------
drkns 2009-09-13 20:12:26+02:00 - build 1122

1. From forum: crashes if switching to filepanel using menu when infopanel/qview is opened.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С форума: падало, если при открытом infopanel/qview переключиться в файловую панель через меню.

--------------------------------------------------------------------------------
t-rex 2009-09-13 14:49:26+02:00 - build 1121

1. Somebody has switched off regexp in replace.

2. Don't forget, include's are case sensitive in some OS'es.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. С какого то перепугу кто то отрубил regexp в replace.

2. Не забывайте, include они case sensitive в некоторых операционках.

--------------------------------------------------------------------------------
drkns 2009-09-13 11:24:41+02:00 - build 1120

1. Mantis#0001054: The disk free size is displayed incorrectly.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001054: Неправильно отображается свободное место на диске.

--------------------------------------------------------------------------------
chupakabra 2009-09-12 22:53:00+02:00 - build 1119

1. Changes in API: farConvertNameToReal() always returns required buffer size (similar to farGetPathRoot())

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Изменение в API: farConvertNameToReal() всегда возвращает необходимый размер буфера (по аналогии с farGetPathRoot())

--------------------------------------------------------------------------------
drkns 2009-09-12 19:04:40+02:00 - build 1118

1. The next divide & conquer:
- ACHTUNG! - minimal supported sdk is now 7.0 for vc, w32api-3.13 for gcc;
- sdkpatches.hpp is divided into separate parts for vc and gcc;
- removed macro's i64() and ui64(), for vc is `ll'- and `ull'-capable too;
- __try and __except are replaced to macros in gcc only;
- removed some more junk from headers.hpp and pluginold.hpp

2. Dialog class is made more lightweight.

3. macro: itoa() failed on 64-bit numbers.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Очередной divide & conquer:
   - АХТУНГ! - минимальный поддерживаемый sdk теперь 7.0 для vc, w32api-3.13 для gcc;
   - sdkpatches.hpp разделён на отдельные части для vc и gcc;
   - выкинуты макросы i64() и ui64(), ибо vc тоже умеет ll и ull;
   - __try и __except заменяются макросами только в gcc;
   - выкинуто ещё некоторое количество мусора из headers.hpp и pluginold.hpp

2. Немного облегчён класс диалога.

3. macro: itoa() не работал с 64-битными числами.

--------------------------------------------------------------------------------
chupakabra 2009-09-11 01:51:00+02:00 - build 1117

1. gcc build is corrected.

2. makefile_gcc: debug version is not optimized; dependences are corrected (make -j worked incorrectly)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Поправлена сборка gcc.

2. makefile_gcc: не оптимизируем отладочную версию; поправлены зависимости (make -j работал некорректно)

--------------------------------------------------------------------------------
chupakabra 2009-09-11 01:02:00+02:00 - build 1116

1. At plugin panel, search from root folder worked incorrectly.

2. Added TRY EXCEPT to FindFiles::WriteDialogData().

3. FindFile code is changed a bit for simplification.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В панели плагина некорректно работал поиск начиная с корня.

2. Добавил TRY EXCEPT в FindFiles::WriteDialogData().

3. Немного переделал код FindFile с целью его упрощения.

--------------------------------------------------------------------------------
drkns 2009-09-10 23:12:56+02:00 - build 1115

1. scantree is appended with recursive links checking.

2. Hard links creation didn't work in win2k.

3. Mantis#0001049: Error in file search using %PATH%.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. К scantree прикручена защита от рекурсивных симлинков.

2. В win2k не работало создание хардлинков.

3. Mantis#0001049: Ошибка при поиске файлов по %PATH%.

--------------------------------------------------------------------------------
chupakabra 2009-09-09 16:47:00+02:00 - build 1114

1. GetPathRoot() is implemented via ConvertNameToReal().

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. GetPathRoot() реализована через ConvertNameToReal().

--------------------------------------------------------------------------------
chupakabra 2009-09-09 06:30:00+02:00 - build 1113

1. Mantis#0001039: the option "Del removes blocks in edit controls" wasn't stored.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001039: Не запоминалось состояние опции "Del removes blocks in edit controls".

--------------------------------------------------------------------------------
chupakabra 2009-09-09 05:40:00+02:00 - build 1112

1. Corrected gcc and x64 builds.

--------------------------------------------------------------------------------
chupakabra 2009-09-09 05:01:00+02:00 - build 1111

1. ConvertNameToReal() now uses NtQueryObject() on Windows XP.
Old code with symlinks crawling is completely deleted.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. ConvertNameToReal() теперь использует NtQueryObject() на Windows XP.
   Старый код с хождением по симлинкам удален полностью.

--------------------------------------------------------------------------------
drkns 2009-09-08 22:18:01+02:00 - build 1110

1. Creation of folder with name ending with point by F7 didn't work.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не работало создание по F7 папки с точкой в конце.

--------------------------------------------------------------------------------
chupakabra 2009-09-08 21:54:00+02:00 - build 1109

1. For ConvertNameToRealModern() it's we take into account that input path can exist partially.

2. UnicodeString::Replace(): we assume that Data can point to data in the string itself.

3. pathmix: a few more functions for path processing.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Для ConvertNameToRealModern() учитываем что входной путь может существовать лишь частично.

2. UnicodeString::Replace(): допускаем, что Data может указывать на данные в самой строке.

3. pathmix: несколько новых функций	для работы с путями.

--------------------------------------------------------------------------------
chupakabra 2009-09-07 18:25:00+02:00 - build 1108

1. Mantis#0001037: hangup inside ConvertNameToReal().
From now, function GetFinalPathNameByHandle() is used if possible, instead of fuss around symlinks.

2. Useful methods for UnicodeString: Replace, Insert, Remove, etc.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001037: зависание внутри ConvertNameToReal().
   Теперь по возможности используется функция GetFinalPathNameByHandle() вместо шаманства с симлинками.

2. Полезные методы для UnicodeString: Replace, Insert, Remove, etc.

--------------------------------------------------------------------------------
t-rex 2009-09-06 22:57:09+02:00 - build 1107

1. Mantis#1038: Incorrect subdirectories location in tree panel.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#1038: Неправильное отображение вложенных подкаталогов в дереве.

--------------------------------------------------------------------------------
chupakabra 2009-09-05 04:49:00+02:00 - build 1106

1. VMenu: place for right horizontal scroller is reserved only if needed.
This solves an issue with plugins which count listbox widths as ("max string length" + 4).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. VMenu: место под правый горизонтальный скроллер выделяется только если он действительно требуется.
   Это исправляет проблему с плагинами, которые считают ширину листбокса как ("макс. длина строки" + 4).

--------------------------------------------------------------------------------
zg 2009-09-04 16:44:34+02:00 - build 1105

1. After 1103, search consumed two-fold CPU time amount.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. после 1103 поиск требовал в два раза больше процессорных ресурсов.

--------------------------------------------------------------------------------
t-rex 2009-09-04 00:16:00+02:00 - build 1104

Just in case:

1. At editor search with “[x] Select found”, the cursor is set on the first letter of found text, like in search without the option; that's a common way, in general.
Thus, the problem with regexp search with this option is gone, also is removed an excessive piece of code with ugly AI, which in addition could cause miscellaneous problems.

· · · · · · · · · · · · · · · · · · · · · · · · ·

От греха подальше:

1. При поиске в редакторе с [x] Select found - выставляем курсор на первой букве найденного текста,
   как и в поиске без этой опции и вообще как у нормальных людей.
   В связи с этим сразу отпадает проблема работы regexp поиска с этой опцией, и выкидывается лишний кусок кода
   с гнусным AI который мог к ещё разным проблемам приводить.

--------------------------------------------------------------------------------
drkns 2009-09-03 20:01:23+02:00 - build 1103

1. In search by content, the status line shows percentage for the current file.
Also, its redraw interval is now equal to the rest of ones everywhere.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. При поиске по содержимому в статусной строке отображаются проценты для текущего файла.
   Ну и перерисовка там теперь с тем же интервалом, что и везде.

--------------------------------------------------------------------------------
svs 2009-09-03 18:07:57+03:00 - build 1102

1. Mantis#0000547 is corrected:
"...Open FarRus.hlf with F4,
F7, search for 3, then some other 3\d
and check [x] “Regular expressions”.
find it, press Shift+F7 - ok, it goes on searching.

Check [x] “Select found”, the search goes ok at the first time, but Shift+F7 doesn't work..."

The problem code is commented out until examination; it marked with "CHECK!!!: for...".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Корректировка Mantis#0000547
      "...Открываем по F4 файл FarRus.hlf
      F7 ищем цифру 3 и за ней еще какую-нибудь
      3\d
      и ставим галочку [x] Регулярные выражения.
      находим, нажимаем Shift+F7 - все работает, ищет дальше.

      Если еще ставим галочку [x] Выделять найденное
      то первый раз находит, а Shift+F7 не работает..."

   До поры (до разборок) закомментим проблемный кусок/
   Помечен "CHECK!!!: for..."

--------------------------------------------------------------------------------
chupakabra 2009-09-03 15:36:00+02:00 - build 1101

1. Mantis#0001002: crash in VMenu when all elements are hidden.

2. Added synchronization in VMenu::GetMaxLineWidth().

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001002: крах при работе с VMenu в случае если все элементы скрыты

2. Добавил синхронизацию в VMenu::GetMaxLineWidth()

--------------------------------------------------------------------------------
t-rex 2009-08-31 22:29:55+02:00 - build 1100

1. We continue Mantis#1025, there has been yet another inner limitation on descript.ion record length.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Продолжим Mantis#1025, было ещё одно внутренее ограничение на длину записи в descript.ion.

--------------------------------------------------------------------------------
drkns 2009-08-31 19:37:49+02:00 - build 1099

1. Mantis#0001029: Unneeded repeated setting of attributes.
The funniest thing is that the "don't touch attributes/date/time if they weren't changed" logic has been present, but broken with IsFileWritable.

2. In the same place, an exasperating flaw is removed: (sym)links date/time can now be changed.

3. Milliseconds can be changed in time field.

4. FILE_FLAG_BACKUP_SEMANTICS moved into apiCreateFile.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001029: Переустановка атрибутов без надобности
   Самое смешное - логика "если соответствующие аттрибуты/дата/время не менялись, то и не трогать"
   как бы присутствовала, но была нещадно поломана всякими IsFileWritable.

2. Там же устранено одно досадное недоразумение - дата/время у симлинков/связей теперь выставляются.

3. В поле времени доступно управление миллисекундами.

4. FILE_FLAG_BACKUP_SEMANTICS переехал внутрь apiCreateFile.

--------------------------------------------------------------------------------
t-rex 2009-08-29 23:11:42+02:00 - build 1098

1. An update of the previous build.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Доделка пред. билда.

--------------------------------------------------------------------------------
drkns 2009-08-29 21:53:31+02:00 - build 1097

1. Mantis#0001026: The “Search” button in viewer was broken.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001026: Не работает кнопка «Искать» в диалоге поиска

   Господа, убедительная просьба - если приходится ковырять какой-то древний диалог,
   не ленитесь попутно заменять в нём числовые константы именованными, потом самим же легче будет.

--------------------------------------------------------------------------------
drkns 2009-08-29 00:51:58+02:00 - build 1096

1. A few memset's removed.

2. Help files: codepage names at section “FileSaveAs”.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Задавим несколько memset'ов.

2. Уточнения хелпа.

--------------------------------------------------------------------------------
chupakabra 2009-08-28 18:28:00+02:00 - build 1095

1. FCTL_REDRAWPANEL could return FALSE in case of success

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. FCTL_REDRAWPANEL могла вернуть FALSE в случае успеха

--------------------------------------------------------------------------------
svs 2009-08-28 19:14:22+03:00

1. Help translation from Igor Yudincev

--------------------------------------------------------------------------------
svs 2009-08-28 19:01:31+03:00 - build 1094

1. Mantis#0001021: 'Select found' checkbox state is saved,
  same for "RegExp"

2. Mantis#0000872: RegExp support in Editor and Viewer
  from Igor Yudincev
  By now, RegExp option in Replace dialog is inavailable (TBD)
  A comment is added to Edit::Search():
// Q: what's more important: dialog option or RegExp option?

([x] “Case sensitive” and /regexp/i are meant)

3. Same for RegExp option in viewer — R/O so far (TBD)

4. Help: "@RegExp. The beginning" - there's a chapter, it needs to be changed carefully as development proceeds.
  "RegExp" checkbox state is saved now, like in editor.

  ATTENTION! Everything described in "@RegExp" chapter doesn't work by now (nevertheless, it will!)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001021: Сохранение состояния 'Select found'
   кроме этого так же сохраняется состояние "RegExp"

2. Mantis#0000872: RegExp support in Editor and Viewer
   from Igor Yudincev
   Здесь в диалоге замены опция про RegExp пока недоступна (задел на будущее)
   Добавлен коммент в Edit::Search():

    // Q: что важнее: опция диалога или опция RegExp`а?

3. Опция RegExp во вьювере - тоже самое, пока в режиме RO (задел на будущее)

4. Help: "@RegExp. Начало" - раздел есть, нужно аккуратно его корректировать, по мере развития событий.
   Так же, ка ки в редакторе, сохраняется состояние "RegExp".

   ВНИМАНИЕ! Все, что описано в разделе "@RegExp" на данном этапе не пашет (но будет!)

--------------------------------------------------------------------------------
zg 2009-08-28 16:10:30+02:00 - build 1093

1. Mantis#0001025: FAR v2.0.1091 (and v2.0.981) cuts records in descript.ion when F5 or F6, up to 260 characters.

2. gcc warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001025: FAR v2.0.1091 ( и v2.0.981) обрезает записи в descript.ion при F5 или F6 до 260 символов.

2. gcc warnings.

--------------------------------------------------------------------------------
t-rex 2009-08-27 20:09:59+02:00

1. Hungarian lng update from Far Hunor.

--------------------------------------------------------------------------------
drkns 2009-08-27 19:54:05+02:00 - build 1092

1. Now symlinks can be created in 2000/XP/2003 too.
  Of course, it doesn't mean they'll work there.

2. Another addition to #0001012.

3. In read-only file rewrite confirmation dialog, the button caption depends on operation(overwrite/append).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Символические ссылки теперь можно создавать и в 2000/XP/2003.
   Разумеется, из этого не следует, что они будут там работать.

2. Ещё одна добавка к #0001012.

3. В диалоге подтверждения перезаписи R/O файла кнопка подписывается в зависимости от операции (overwrite/append).

--------------------------------------------------------------------------------
drkns 2009-08-26 20:02:15+02:00 - build 1091

1. Mantis#0001019: The "Encrypted" attribute is set at folder copy/move.

2. Mantis#0001012: "In 1090, sometimes during copy/move there's a feeling that the name of new copied file appears when old file progressbar is still at 100%."

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0001019: Устанавливается атрибут "Encrypted" при копировании (перемещении) папок.

2. Mantis#0001012: "Иногда при копировании в 1090 возникает ощущение, что имя нового копируемого файла появляется когда ещё прогресс старого файла стоит на 100%."

--------------------------------------------------------------------------------
drkns 2009-08-25 20:32:14+02:00 - build 1090

1. Whole copying visualization is moved to (almost) separate class.
  Progressbar redraw and wrong filename displaying bugs must have disappeared (Mantis#0001012).
  Also, a bunch of garbage is removed from copier.

2. As GetUserNameExW is used everywhere, let's reduce the code by linking it statically.

3. Quick preview panel had been reread and redrawn on every cough.

4. For file symlinks, "" is shown in panels at Size column.

5. MkSymLink() moved to flink.cpp.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Вся визуализация процесса копирования вынесена в (почти) отдельный класс.
   Должны починиться баги с неперерисовкой прогресбара и отображением не того имени (Mantis#0001012).
   Также выкинута куча разнообразного мусора из копира.

2. Т. к. GetUserNameExW есть везде - подсократим код, линкуя её статически.

3. Панель быстрого просмотра перечитывалась и перерисовывалась на каждый чих.

4. Для файловых симлинков в панелях показываем "<symlink>" в колонке размера.

5. MkSymLink() переехала в flink.cpp.

--------------------------------------------------------------------------------
svs 2009-08-25 17:20:04+03:00 - build 1089

1. Mantis#0000970: descript.ion change date does not change if there  were no changes
  from Maximus

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000970: Дата изменения descript.ion не должна обновляться, если изменений не было
   from Maximus

--------------------------------------------------------------------------------
svs 2009-08-24 19:15:12+03:00 - build 1088

1. Info panel missed a space after FS type.

2. "Memory" label overlayed panel border.

3. Mantis#0000859: RFE: Show UserName@Domain on the information panel
  Let's use the 8-th type, "UserName@Domain" (for local user, or there are errors when receiving a user... it will be like now: "user")
  + some formatting in InfoList::DisplayObject()

  in the largest accounts, visualization form has to be assigned (dialog? techinfo?).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В Info-панели после типа FS не стоял пробел.

2. Метка "Память" наезжает на рамку панели.

3. Mantis#0000859: RFE: Show UserName@Domain on the information panel
   Заюзаем 8-й тип - "UserName@Domain" (для локального юзера или были ошибки при получении юзера... будет как сейчас: "юзер")
   + немного форматирования в InfoList::DisplayObject()

   По большому счету форму показа нужно задавать (диалог? techinfo?).

--------------------------------------------------------------------------------
drkns 2009-08-22 00:44:39+02:00 - build 1087

1. Attributes dialog shake-up. Downsizing, optimization, formatting, as usual.
   Bonuses:
   - a few tiny bugs are fixed;
   - reparse point editing possibility is added. Highly experimental.

2. Corrections in reparse points creation.

3. FAR_USE_INTERNALS are removed from wrapper.

4. Progressbars redraw timeouts are now controlled with a single variable.

5. Translation for "Standard association".

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Перетрях диалога атрибутов. Сокращения, оптимизации, форматирование, как обычно.
   Плюшки:
   - исправлено несколько мелких багов;
   - добавлена возможность редактировать содержимое reparse point'а. Сильно экспериментально.

2. Уточнения создания reparse point'ов.

3. Из врапера убраны FAR_USE_INTERNALS.

4. Таймауты перерисовки всяческих прогрессбаров теперь контролируюся одной переменной.

5. Перевод для "Standard association".

--------------------------------------------------------------------------------
svs 2009-08-19 11:42:58+03:00 - build 1086

1. Mantis#0000905: Changes in "eval"
   eval("",1) variant returns error 12 ("Zero-length macro")
   Considering empty macro sequences illegal.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000905: Изменения в eval
   Вариант eval("",1) вернет ошибку 12 ("Zero-length macro")
   Считаем, что пустые макропоследовательности недопустимы.

--------------------------------------------------------------------------------
svs 2009-08-17 12:26:34+03:00

1. Mantis#0000986: Far 2 API - pascal
    from: max rusov
      PluginW.pas: FAR_USE_INTERNALS are removed

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000986: Far 2 API - pascal
    from: max rusov
      PluginW.pas: убраны FAR_USE_INTERNALS

--------------------------------------------------------------------------------
drkns 2009-08-16 09:05:05+02:00 - build 1085

1. gcc.

--------------------------------------------------------------------------------
drkns 2009-08-15 20:13:55+02:00 - build 1084

1. Corrections in the previous build.
   pointer_array is replaced with TPointerArray.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнения предыдущего билда.
   pointer_array заменен на TPointerArray.

--------------------------------------------------------------------------------
drkns 2009-08-14 23:38:43+02:00 - build 1083

1. Plugin selection for "SetFindList" and "prefix" is completed, more or less.
   Localization of settings dialog.
   All plugin selection menus are off by default.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Более-менее доделан выбор плагина для SetFindList и prefix.
   Локализация диалога настройки.
   По умолчанию все меню выбора плагина выключены.

--------------------------------------------------------------------------------
svs 2009-08-14 11:51:50+03:00

1. Mantis#0000986: Far 2 API - pascal
    from: max rusov
      PluginW.pas: x64 support is added. Tested under FreePascal 2.3.1

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000986: Far 2 API - pascal
    from: max rusov
      PluginW.pas: Добавил поддержку x64. Тестировалось под FreePascal 2.3.1

--------------------------------------------------------------------------------
t-rex 2009-08-12 12:01:41+02:00 - build 1082

1. From Evgeny Zhirnov: Mantis#1006: Add "explicit" to UnicodeString::UnicodeString(size_t, size_t=0) constructor.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. From Evgeny Zhirnov: Mantis#1006: Добавить explicit к конструктору UnicodeString::UnicodeString(size_t, size_t=0)

--------------------------------------------------------------------------------
svs 2009-08-11 18:55:01+03:00 - build 1081

1. Ctrl-Home/End on numeric keypad do not work.
   from: Alexey Samlyukov

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не работают Ctrl-Home/End на цифровой клавиатуре
   from: Alexey Samlyukov

--------------------------------------------------------------------------------
drkns 2009-08-09 17:21:34+02:00 - build 1080

1. If a single object was selected on panel and cursor was on "..", then PanelInfo.SelectedItemsNumber contained 0.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Если на панели был выделен один объект и курсор стоял на "..", то в PanleInfo.SelectedItemsNumber оказывался 0.

----------------------------------------
Entries 464-1079 are not translated yet.
----------------------------------------

--------------------------------------------------------------------------------
chupakabra 2009-08-09 16:10:00+02:00 - build 1079

1. Продолжение 1075: исправление горизонтальной прокрутки для VMenu

--------------------------------------------------------------------------------
chupakabra 2009-08-09 05:13:00+02:00 - build 1078

1. VMenu: автоматическая расстановка шоткатов учитывает горизонтальный скроллинг.

--------------------------------------------------------------------------------
drkns 2009-08-08 20:20:06+02:00 - build 1077

1. Оптимизация сброса в консоль экранного буфера. В некоторых случаях должно стать в разы быстрее.

2. Уточнение в рисовалке меню.

--------------------------------------------------------------------------------
zg 2009-08-08 17:40:18+02:00 - build 1076

1. уточнение 1064 для папок при [ ] Sort folder names by extension.

--------------------------------------------------------------------------------
chupakabra 2009-08-07 21:15:00+02:00 - build 1075

1. Mantis#0000998: По Alt-Right у каждой буквы диска рисуется символ «
   Исправлена горизонтальная прокрутка для VMenu

--------------------------------------------------------------------------------
drkns 2009-08-06 19:14:43+02:00 - build 1074

1. Продолжение 1073: лишние преобразования путей при создании ссылок.
   Там же - убрана мешанина из табов/пробелов и прочая косметика.

--------------------------------------------------------------------------------
drkns 2009-08-06 01:07:51+02:00 - build 1073

1. ConvertNameToReal криво работал с симлинками, указывающими на \\?\UNC\... или \\?\Volume{...

--------------------------------------------------------------------------------
svs 2009-08-05 23:03:44+03:00 - build 1072

1. В ConvertFileSizeString() попутаны префиксы exa и peta
   (see http://en.wikipedia.org/wiki/SI_prefix)

--------------------------------------------------------------------------------
t-rex 2009-08-05 14:56:05+02:00 - build 1071

1. From Evgeny Zhirnov: Mantis#995: Исправление операторов копирования

2. Немного форматирования.

--------------------------------------------------------------------------------
drkns 2009-08-04 21:03:08+02:00 - build 1070

1. Перетрях ассоциаций - упрощения, оптимизации, форматирование и т.п. Как обычно - соблюдаем осторожность.
   Плюшки:
   - каждую ассоциацию теперь можно "включать" и "выключать", не стирая (и, соответственно, не теряя) текст команды.
   - снято ограничение в 32 ассоциации на одно расширение;
   - пункты меню ассоциаций можно двигать вверх-вниз по Ctrl<Up|Down>;

2. При включенном врапе во вьювере блокируется прокрутка вправо.

3. В Modal::ReadInput зачем-то было вот такое чудо:
    if (CloseFARMenu){
      SetExitCode(TRUE);
    Это приводило к тому, что если при открытом меню закрыть фар по [x], то меню закрывалось с ExitCode==1,
    т.е. всегда происходил "запуск" второго по счёту пункта меню. О возможных последствиях такого поведения догадайтесь сами.
    Теперь ExitCode ставится как положено: -1. Если вдруг это шаманство кому-то было нужно - сигнализируйте.

4. С форума: "Падает Far 2.0 build 952 из-за MultiArc..."
   Только не из-за MultiArc, а из-за попыток дописать NULL к UnicodeString. Опять, да.

--------------------------------------------------------------------------------
t-rex 2009-08-04 19:55:56+02:00 - build 1069

1. Mantis#992: /[^ab]/
   короче "not set" вообще особо не работал.

--------------------------------------------------------------------------------
svs 2009-08-04 16:42:10+03:00 - build 1068

1. Help для "поиска/замены" в редакторе. Начало.
   * в FarEng.hlf.m4 - русские буковки
   * в FarHun.hlf.m4 - только пустой раздел

   по мере внедрения RegExp хелпы будут обновляться.

--------------------------------------------------------------------------------
svs 2009-08-04 11:27:36+03:00 - build 1067

1. В GetSearchReplaceString() добавлен параметр HelpTopic - пора писать тему помощи для поиска/замены в редакторе (с учетом build 1063)

2. В Panel::ChangeDiskMenu() избавимся от очередного str.Format()
   (From Alexey Samlyukov)

--------------------------------------------------------------------------------
zg 2009-08-03 22:13:13+02:00 - build 1066

1. опечатка в 1064.

--------------------------------------------------------------------------------
chupakabra 2009-08-03 02:32:00+02:00 - build 1065

1. Mantis#0000975
   Диалог с результатами поиска расширен на весь экран.
   Если имя файла слишком длинное - режем в середине, а не в конце.
   Изменение размера по Alt+F9 пока работает не совсем корректно (надо содержимое списка пересчитывать).

2. Для UnicodeString добавлены Append(const wchar_t *, size_t) и Append(wchar_t).

3. В strmix добавлена TruncStrFromCenter - как TruncStr и TruncStrFromEnd, но режет в центре строки.

--------------------------------------------------------------------------------
zg 2009-08-02 15:11:16+02:00 - build 1064

1. новый конструктор UnicodeString(const wchar_t *lpwszData, size_t nLength).

2. Mantis#0000974: file-1.txt выше, чем file.txt

3. PointToName(string)/PointToExt(string) работают быстрее.

4. gcc warnings.

--------------------------------------------------------------------------------
t-rex 2009-07-31 18:11:28+02:00 - build 1063

1. На затравку: ужасная имплементация regexp поиска в редакторе.
   Работает только для поиска вперёд, глючит при "select found", если строка начинается на "/" значит regexp.

2. Совсем немного форматирования, избавление от мешанины табов и пробелов.

--------------------------------------------------------------------------------
svs 2009-07-31 13:49:18+03:00 - build 1062

1. Mantis#0000961: Неполная проверка на наличие файловых ассоциаций в реестре.
   from Ariman.
   Очередное уточнение (отвалились .lnk).

--------------------------------------------------------------------------------
drkns 2009-07-30 21:46:46+02:00 - build 1061

1. Новое кнопкосочетание в панелях - CtrlShiftPgDn.
   Делает ровно то же самое, что и CtrlPgDn, но не перекрывается ассоциациями файлов (по аналогии с F4/CtrlShiftF4).

2. Немного тегов ^<wrap> и форматирования в справке.

--------------------------------------------------------------------------------
drkns 2009-07-30 21:20:07+02:00

1. "Парашютики не забываем..." :)
   "*W.pas" вместо "*.pas" должны присутствовать и в мейкфайлах тоже.

--------------------------------------------------------------------------------
svs 2009-07-30 22:11:37+03:00

1. Mantis#0000986: Far 2 API - pascal
   "Ведущий рубрики" Maxim Rusov
   Вместо "*.pas" в двойке будут присутствовать "*W.pas":

   mr> Мне кажется *W - удобнее. В Delphi нельзя использовать ifdef'ы в настройках путей, поэтому приходится подключать модули условно:
   mr>
   mr>   uses
   mr>     ...
   mr>    {$ifdef Unicode}
   mr>     PluginW,
   mr>    {$else}
   mr>     Plugin,
   mr>    {$endif Unicode}
   mr>
   mr> Для этого - они должны называться по разному.

   Файлы FarColorW.pas, FarKeysW.pas и PluginW.pas, относящиеся к АПИ (для Pascal), будут постоянно обновляться "по мере развития событий"

   Если у кого есть что сказать по этому поводу - Wелкам сюда: http://bugs.farmanager.com/view.php?id=986

--------------------------------------------------------------------------------
chupakabra 2009-07-30 17:43:00+02:00 - build 1060

1. Mantis#0000979: ошибка копирования каталога при указании маски в качестве цели
   теперь маска обрабатывается только в CopyFileTree, в ShellCopyOneFile поступает уже готовый путь

--------------------------------------------------------------------------------
chupakabra 2009-07-29 20:27:00+02:00

1. Не используем опции для оптимизации при сборке отладочной версии.

--------------------------------------------------------------------------------
svs 2009-07-29 20:48:11+03:00

1. без билда
   исправления в scripts\mkdep.awk - "исключаем обработку самого себя"

2. актуализирован mkdep.list (однако чудовищно много зависимостей :-))
   файл mkdep.list содержит все сорцы и с помощью "scripts\mkdep.awk"  генерит far.vc.dep/far.gcc.dep
   far.*.dep нужны для слишком "безумного" nmake

--------------------------------------------------------------------------------
chupakabra 2009-07-29 19:15:00+02:00 - build 1059

1. Mantis#0000982: Подсчет размера папки сильно тормозит на медленных файловых системах
   from CrOm
   ускорена работа функции FarGetPluginDirList

--------------------------------------------------------------------------------
chupakabra 2009-07-29 17:03:00+02:00 - build 1058

1. Mantis#0000985: используем класс NonCopyable для запрета оператора присваивания и конструктора копирования
   from Evgeny Zhirnov

--------------------------------------------------------------------------------
svs 2009-07-28 11:27:23+03:00 - build 1057

1. Mantis#0000981: Far падает, после вызова плагина через CallPlugin
   ...в процессе работы внутренних функций макросы отключаются...

--------------------------------------------------------------------------------
yjh 2009-07-28 06:27:45+03:00 - build 1056

1. В хуке редиректора для win64 добавили поддержку Win2008r2 - там ntdll
   с "полуотладочным" враппером в релизе оставили :(

--------------------------------------------------------------------------------
drkns 2009-07-26 22:12:09+02:00

1. В Vista и выше DEP теперь включён перманентно.

--------------------------------------------------------------------------------
svs 2009-07-26 19:34:54+03:00 - build 1055

1. Mantis#0000405: по Ctrl-Enter выводить Win-диалог свойств диска.
   from igor_yudincev
   добавлена информация про Ctrl-A и F4 в файлы помощи.

2. Mantis#0000980: FAR2 падает в FileList::PluginGetPanelInfo
   from Maximus.

--------------------------------------------------------------------------------
svs 2009-07-24 17:34:55+03:00 - build 1054

1. Уточнения про CheckShortcutFolder()
   Из-за чего, кстати, неправильно выводилось сообщение про "файл": при переходе по ссылке на не существующую папку получаем - "Файл не найден".

2. Mantis#0000405: по Ctrl-Enter выводить Win-диалог свойств диска.
   Это временно, до переделки меню в стиле "диалог+листбокс"
   Здесь вместо Ctrl-Enter стандартное поведение - Ctrl-A/F4

3. В Viewer::Search() кто-то не так выставил скобки...

--------------------------------------------------------------------------------
drkns 2009-07-22 20:21:23+02:00 - build 1053

1. В windows 7 погнули WriteConsoleOutputW: ограничение на размер буфера у них теперь не 64 K, а "почти 64 K".
   Из-за этого самого "почти" в консоли выводился мусор вместо текста и периодически падал conhost.
   Посему теперь пишем по 32 K, от греха подальше.

2. В windows 7 погнули ReadConsoleInputW, а конкретно заполнение Event.KeyEvent.uChar.UnicodeChar.
   Из-за этого не работал ввод кодов уникодных символов по Alt-NumN.

--------------------------------------------------------------------------------
svs 2009-07-20 18:27:06+03:00 - build 1052

1. Mantis#0000961: Неполная проверка на наличие файловых ассоциаций в реестре.
   from Ariman.
   Порядок проверки ассоциаций:

     1. [HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ext] ProgID
     2. [HKСR\.ext] дефолтное значение
     3. [HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ext\OpenWithProgids] до первого попадания
     4. [HKCR\.ext] OpenWithProgids до первого попадания

--------------------------------------------------------------------------------
drkns 2009-07-20 00:36:26+02:00 - build 1051

1. Продолжаем трясти UserMenu:
   - выкинуто ещё прилично копипасты;
   - сокращено количество обращений к реестру (раза в два).
   Плюшки:
   - работает прокрутка длинных пунктов Alt-стрелками.

2. Новый флаг в FarMenuItemEx: MIF_SUBMENU.
   Пока что отвечает только за отображение ">" справа от имени пункта.
   Пока что только для внутреннего использования.

3. Экранный граббер зачем-то превращал «» в <>.

--------------------------------------------------------------------------------
drkns 2009-07-18 20:39:05+02:00 - build 1050

1. EditorInfo::Options могло содержать неправильные данные.

--------------------------------------------------------------------------------
drkns 2009-07-17 23:45:27+02:00 - build 1049

1. Рефакторинг UserMenu:
   - теперь оно есть класс (привет редактору и вьюверу);
   - выкинута куча копипасты. Будьте бдительны, что-нибудь вполне могло отвалиться;
   - проверка корректности горячей клавиши и названия пункта перенесена в обработчик диалога;
   Плюшки:
   - в качестве горячих клавиш могут использоваться все функциональные, вплоть до F24;
   - Разделителем теперь считается любой пункт с горячей клавишей "-". Если метка не пуста, она будет использована в качестве текста разделителя.
   - пункты меню можно двигать вверх-вниз по Ctrl<Up|Down>.

2. Частично восстановлен PROJECT_DI_MEMOEDIT.

3. Класс CachedWrite вынесен в отдельный файл.

--------------------------------------------------------------------------------
warp 2009-07-17 19:58:00+03:00 - build 1048

1. Добавил (вернул) поддержку в (HANDLE)-2 в OpenFilePlugin. Может PictureView и заработает.
   Но это ненадолго.

--------------------------------------------------------------------------------
svs 2009-07-17 18:03:52+03:00 - build 1047

1. Mantis#0000905: Изменения в eval

2. Mantis#0000973: Опечатка в исходнике - файл scrobj.hpp
   :-)

--------------------------------------------------------------------------------
drkns 2009-07-15 18:30:59+02:00 - build 1046

1. В диалог "Подтверждения" добавлена опция "Перезапись и удаление R/O файлов".
   И, соответственно, FCS_OVERWRITEDELETEROFILES в В ACTL_GETCONFIRMATIONS.

2. По Alt+Del не удалялись вложенные папки.

--------------------------------------------------------------------------------
warp 2009-07-15 02:27:00+03:00 - build 1045

1. HIGHLY EXPERIMENTAL PART 2. Добавим возможность до некоторой степени настраивать
   появление меню при наличии нескольких плагинов на обработку файла. Диалог пока не
   локализован.

--------------------------------------------------------------------------------
drkns 2009-07-14 21:14:13+02:00 - build 1044

1. Если не удалось загрузить плагин - покажем результат GetLastError().

--------------------------------------------------------------------------------
drkns 2009-07-14 19:48:31+02:00 - build 1043

1. Ещё всякие мелочи в списке кодовых страниц:
   - отметки возле страниц, выбранных в поиске, выводились также при открытии и сохранении файла;
   - при сохранении не блокировался автодетект и иногда сбивалось позиционирование;
   - Константа CP_REVERSEBOM почему-то была равна 65534, а не 1201.

--------------------------------------------------------------------------------
warp 2009-07-14 01:44:00+03:00 - build 1042

1. Добавлены константы для пунктов основного меню. Это облегчит добавление пунктов в него.
   Кроме того устранена некоторая копипаста. Соблюдаем осторожность, вдруг чего упустил.

--------------------------------------------------------------------------------
drkns 2009-07-13 20:06:54+02:00 - build 1041

1. From Maximus5: не работал ShiftDel на непустой папке на временной панели.

--------------------------------------------------------------------------------
drkns 2009-07-13 00:48:31+02:00 - build 1040

1. В 1035 поломался врапперный GetDirList.

--------------------------------------------------------------------------------
drkns 2009-07-12 21:28:54+02:00 - build 1039

1. Здравствуй, прекрасное далёко. Tеперь мы понимаем петабайты и эксабайты.

2. По традиции, немного косметики: давим "void" везде, где он не нужен.

--------------------------------------------------------------------------------
zg 2009-07-12 11:29:40+02:00 - build 1038

1. в StrCmp* добавлен флаг SORT_STRINGSORT. причина - разница результатов:
   printf("%d\n",CompareString(0,NORM_IGNORECASE,"\"aaa aaa\"",9,"\"aaa aaa-2\"",9));
   printf("%d\n",CompareString(0,NORM_IGNORECASE,"\"aaa aaa\"",-1,"\"aaa aaa-2\"",-1));
   в фаре очень желательно, чтобы совпадали.
   починился Mantis#0000804: не отображается существующий description для одной из папок.

2. InsertQuote теперь пустую строку превращает в две кавычки, а не в одну.

--------------------------------------------------------------------------------
drkns 2009-07-12 01:21:59+02:00 - build 1037

1. В D<N|M>_KEY, ECTL_PROCESSKEY, FarKeyToName, FarNameToKey, меню и ACTL_POSTKEYSEQUENCE не производилось unicode<->oem преобразование кодов клавиш для старых плагинов.

--------------------------------------------------------------------------------
drkns 2009-07-11 22:44:36+02:00 - build 1036

1. Если при сохранении файла по ShiftF2 был выбран нестандартный конец строки, то он потом использовался при сохранении любого файла по F2.

2. При нажатии CtrlIns на элементе ".." кладём в буфер не "..", а имя текущей папки.

--------------------------------------------------------------------------------
drkns 2009-07-10 23:47:08+02:00 - build 1035

1. Говорят, иногда сильно тормозило сохранение файлов. Теперь должно сохранять как минимум не медленнее, чем в 1.75, а то и быстрее. :)

2. Очередные пляски вокруг nul, con, com1 и иже с ними. Теперь должно корректно обрабатываться и в подкаталогах.

3. Разные мелочи.

--------------------------------------------------------------------------------
zg 2009-07-08 20:36:05+02:00 - build 1034

1. в StrCmpNI/StrCmpN сравнение уходило за границы строки.

--------------------------------------------------------------------------------
zg 2009-07-08 03:23:36+02:00 - build 1033

1. Mantis#0000964: проблемы с вставкой текста.
   реально проблема в неправильном позиционировании курсора при удалении блока.

--------------------------------------------------------------------------------
warp 2009-07-08 02:17:00+03:00 - build 1032

1. HIGHLY EXPERIMENTAL. Меню выбора архивного плагина (с теоретической поддержкой Analyse, который
   пока не работает). Возврат из OpenFilePlugin результата -2 не поддерживается (актуально только
   для враппера, в 2.0 OpenFilePlugin вероятно умрет совсем). pointer_array надо или заменить на
   один из используемых списков или наоборот использовать для списоков везде. Старый код сохранен
   в комментарии. На данный момент в меню отображаются имена модулей архивных плагинов.

--------------------------------------------------------------------------------
zg 2009-07-07 14:53:16+02:00 - build 1031

1. уточнение 1030.

--------------------------------------------------------------------------------
zg 2009-07-07 14:26:00+02:00 - build 1030

1. в ACTL_WAITKEY теперь приходят и макрокнопки.

--------------------------------------------------------------------------------
warp 2009-07-07 03:07:00+03:00 - build 1029

1. Вводим функцию Analyse, первичный этап.

--------------------------------------------------------------------------------
drkns 2009-07-06 23:04:55+02:00 - build 1028

1. По просьбам телезрителей DN_GETDIALOGINFO поступает и в ProcessDialogEvent тоже.

--------------------------------------------------------------------------------
drkns 2009-07-06 18:35:27+02:00 - build 1027

1. Невозможно было зайти в папки nul, con, com1 и иже с ними.

2. При входе в \\?\nul неправильно отображалось содержимое панели.

3. Уточнение 1020.1 - в меню кодовых страниц иногда путались названия разделителей.

4. При пометке кодовых страниц в диалоге поиска файлов Space/Ins перемещают курсор на следующую позицию.

5. Забавный баг: если в диалоге нажать ПК и, не отпуская её, ЛК - диалог становился невидимым.
   IsMouseButtonPressed() теперь возвращает состояние всех мышиных клавиш сразу, а не первой попавшейся.

6. Внедрение системы идентификации диалогов. Часть первая - движок.
   API:
     DN_GETDIALOGINFO - far желает получить информацию о вашем диалоге.
       Param1 - 0, Param2 - указатель на структуру DialogInfo, получающую данные.
       Ваш плагин должен корректно заполнить поле StructSize структуры DialogInfo.
       верните TRUE, если заполнили структуру, или FALSE, если проигнорировали.
     DM_GETDIALOGINFO - вы желаете получить информацию о диалоге far или другого плагина.
       Param1 - 0, Param2 - указатель на структуру DialogInfo, получающую данные.
       возвращаемое значение: TRUE - структура заполнена, FALSE - сообщение проигнорировано.
     структура DialogInfo:
       StructSize - размер структуры;
       Id - уникальный идентификатор диалога в формате GUID.
     Событие DN_GETDIALOGINFO _НЕ_ поступает в функцию ProcessDialogEvent.
   Макроязык:
     состояние Dlg.Info.Id - строковое представление идентификатора текущего диалога.

   "Technology preview" второй части: диалог поиска (AltF7) имеет идентификатор {8C9EAD29-910F-4B24-A669-EDAFBA6ED964}.

--------------------------------------------------------------------------------
zg 2009-07-06 13:20:05+02:00 - build 1026

1. убраны ненужные после 1021 фиксы из 1014.

--------------------------------------------------------------------------------
zg 2009-07-05 14:39:29+02:00 - build 1025

1. настройка "whole words" влияла на поиск в hex в просмотре, хоть и была задисаблена.

--------------------------------------------------------------------------------
zg 2009-07-05 12:25:19+02:00 - build 1024

1. Mantis#0000963: Не отображается описание для элемента "..".

--------------------------------------------------------------------------------
zeroes 2009-07-05 03:51:27+02:00 - build 1023

1. пробуем выполнить "%Programfiles%\test.exe" в ответ:
'D:\Program' is not recognized as an internal or external command,
operable program or batch file.

--------------------------------------------------------------------------------
zg 2009-07-04 16:00:28+02:00 - build 1022

1. уточнение 1016.1.

--------------------------------------------------------------------------------
zg 2009-07-04 15:48:50+02:00 - build 1021

1. после 1012 билда после закрытия диалогов фар отъедает некоторое время.
   формально это 64 вызова Sleep(1). реально что-то около порядка секунды.

--------------------------------------------------------------------------------
drkns 2009-07-03 21:08:00+02:00 - build 1020

1. Всякая косметика в меню кодовых страниц - названия групп, справка и т. п.
   Также в меню теперь всегда отображается "Automatic detection" (пока что в отключенном состоянии) - сие есть задел на будущее.

2. В статусной строке редактора не отображались атрибуты файла.

3. Mantis#0000871: Код символа под курсором в редакторе всегда юникодный.
   Если текущая кодовая страница - не уникод, если символ под курсором может быть отображен в этой странице, и если его код при этом
   отличается от уникодного - этот код будет показан в статусной строке вместе с уникодным.

--------------------------------------------------------------------------------
garry 2009-07-03 03:32:47+03:00 - build 1019

1. В продолжение 1018 добавлена возможность в ключе реестра Far2\CodePages\Names задавать имена для
   таблиц символов имён которых не знает система. Например, для CP1125 это будет выглядеть примерно так:

   [HKEY_CURRENT_USER\Software\Far2\CodePages\Names]
   "1125"="RUSCII"

--------------------------------------------------------------------------------
garry 2009-07-03 02:25:13+03:00 - build 1018

1. Добавлена поддержка кодовых страниц без имени (для них GetCPInfoEx возвращает ошибку). В частности,
   теперь работает CP1125 (RUSCII). Пока такие кодовые страницы так и отображаются в списке с пустым
   именем;

2. Во враппере исправлено форматирование нестандартных имён кодовых страниц.

--------------------------------------------------------------------------------
drkns 2009-07-02 21:40:21+02:00 - build 1017

1. Внезапно выяснилось, что FCTL_SETSELECTION, во первых, криво работал при "Show selected first",
   во вторых, после него не работал CtrlM.

   Теперь, ВНИМАНИЕ! - правильно выделять из плагинов надо так:

   FCTL_BEGINSELECTION
   FCTL_SETSELECTION сколько нужно раз
   FCTL_ENDSELECTION.

--------------------------------------------------------------------------------
zg 2009-07-02 18:51:52+02:00 - build 1016

1. сильно ускорен последовательный вызов FCTL_GETSELECTEDPANELITEM с неуменьшающимися индексами.

2. gcc варнинги.

--------------------------------------------------------------------------------
drkns 2009-07-01 17:43:47+02:00 - build 1015

1. Продолжение 988.

2. При создании папок проверка корректности списка производится в обработчике диалога, а не после его закрытия.

3. В некоторых случаях неровно форматировались строки в списке результатов поиска.

--------------------------------------------------------------------------------
svs 2009-07-01 11:27:19+03:00 - build 1014

1. Mantis#0000949: Баги при вызове AdvControl с ACTL_REDRAWALL

2. Уточнение build 1013

3. Немного логирования в менеждере...

--------------------------------------------------------------------------------
svs 2009-06-29 17:57:12+03:00 - build 1013

1. в этом патче такое:
   1. фрейм не удаляем из CloseDialog, т.к. эта функция вызывается из XXXProc (и из плагинов)
   2. фрейм можно удалить только из "проходных" функций ProcessMouse или ProcessKey.
   3. при выставленном флаге DMODE_ENDLOOP ничего плагину в обработчик диалога не кидаем
   4. теперь в плагинах "Info.DialogRun(hDlg);" можно юзать сколько угодно раз между Init и Free.

--------------------------------------------------------------------------------
zg 2009-06-27 01:59:08+02:00 - build 1012

1. вернём показ дополнительной информации для элемента "..".

--------------------------------------------------------------------------------
drkns 2009-06-25 23:28:35+02:00

1. Секция "compatibility" в манифесте.

2. Поправки в vcproj.

--------------------------------------------------------------------------------
drkns 2009-06-23 08:40:58+02:00 - build 1011

1. Mantis#0000947: Новое поведение Executor'а и %PATHEXT%. В 1009 закрались "апичатки".

--------------------------------------------------------------------------------
lort 2009-06-22 22:43:08+03:00 - build 1010

1. Убрана перерисовка при вызове EUR_UNDO и EUR_REDO

2. Переделки в Undo, перед откатом проверяем есть ли для UNDO_END соответствующий UNDO_BEGIN и наоборот

3. Исправления в Editor.Sel, неправильно производилось выделение, если позиция начала выделения находилась после позиции конца

4. Добавлена макро функция V=Editor.Undo(N)
   здесь N:
     0 - BEGIN - начало блочной операции
     1 - END - конец блочной операции
     2 - UNDO - сделать Undo
     3 - REDO - сделать Redo

--------------------------------------------------------------------------------
drkns 2009-06-22 15:23:38+02:00 - build 1009

1. Mantis#0000947: Новое поведение Executor'а и %PATHEXT%

2. Не всегда правильно перерисовывался диалог копирования.

--------------------------------------------------------------------------------
drkns 2009-06-22 10:43:06+02:00 - build 1008

1. Исправление во враппере на тему FarDialogItem.Param.ListItems/FarDialogItem.Param.ListPos.
   И кто только придумал засунуть их в union :(
   Ну и заодно во всех подобных местах используем SYSTEMINFO::<Minimum|Maximum>ApplicationAddress вместо "магических чисел" 0x2000, 0x5000, MAX_MSG и т. п.

--------------------------------------------------------------------------------
drkns 2009-06-21 19:22:36+02:00 - build 1007

1. Mantis#0000945: Не работает Rename при перемещении файлов (F6, Move) на одном диске

--------------------------------------------------------------------------------
zg 2009-06-21 19:12:40+02:00 - build 1006

1. уточнения в PluginSynchro.

--------------------------------------------------------------------------------
zg 2009-06-21 18:08:33+02:00 - build 1005

1. новое апи. позволяет потоку, запущенному плагином выполнить код в контексте главного потока фара.
   поток может вызвать Info.AdvControl(Info.ModuleNumber,ACTL_SYNCHRO,Param).
   если плагин экспортирует функцию ProcessSynchroEventW то она будет вызвана в контексте главного потока.
   первый параметр при этом будет равен SE_COMMONSYNCHRO (обязательно нужно проверять), второй - Param, переданный AdvControl.
   ProcessSynchroEventW должна возвращать 0.

--------------------------------------------------------------------------------
drkns 2009-06-21 14:31:57+02:00 - build 1004

1. Массовое истребление IsBad*Ptr.

2. Массовое истребление ключевого слова 'struct'.

3. Массовое истребление "W" в именах функций и структур.

--------------------------------------------------------------------------------
zeroes 2009-06-21 14:30:03+02:00 - build 1003

1. При запуске грабера во viewer'е курсор промелькивает в командной строке.
Особенно это было видно при использовании ConEmu. (за фикс thanx 2 Maximas)

--------------------------------------------------------------------------------
zg 2009-06-21 14:15:36+02:00 - build 1002

1. FCTL_SET*SORTORDER для анси плагинов всегда устанавливала обратную сортировку.

--------------------------------------------------------------------------------
zg 2009-06-21 00:15:57+02:00 - build 1001

1. падение при вызове анси плагином DM_GETDLGITEM с неверным индексом элемента диалога.

--------------------------------------------------------------------------------
drkns 2009-06-19 16:07:36+02:00 - build 1000

1. Падение при вызове FCTL_GET[SELECTED]PANELITEM на пустой панели.

--------------------------------------------------------------------------------
t-rex 2009-06-19 03:34:59+02:00 - build 999

1. Коррупция хипа во враппере.

--------------------------------------------------------------------------------
drkns 2009-06-17 18:27:30+02:00 - build 998

1. Криво обрабатывалась команда chcp.

2. Mantis#938: Несовпадение регистра в именах файлов в исходниках.

3. Ещё пара мелочей.

--------------------------------------------------------------------------------
garry 2009-06-16 00:29:18+03:00 - build 997

1. Исправлены gcc warnings после 993;

2. Исправлена опечатка в makefile_gcc.

3. В xf_realloc_nomove вызов _expand сделан только для VC, так как в GCC far линкуется с msvcrt, где
   _expand работает несколько по другому:
     - http://msdn.microsoft.com/en-us/library/wfzt8b7y(VS.71).aspx
     - http://msdn.microsoft.com/en-us/library/wfzt8b7y(VS.80).aspx

--------------------------------------------------------------------------------
t-rex 2009-06-15 22:44:49+02:00 - build 996

1. Пару мелочей.

--------------------------------------------------------------------------------
drkns 2009-06-15 22:21:41+02:00 - build 995

1. Получение имени открытого в редакторе файла вынесено в отдельную команду - ECTL_GETFILENAME.
   Команда возвращает требуемый размер буфера.

--------------------------------------------------------------------------------
drkns 2009-06-15 20:30:24+02:00 - build 994

1. ECTL_FREEINFO больше нет. Память под EditorInfo::FileName выделяет плагин.
   Требуемый размер можно получить в поле EditorInfo::FileNameSize передав туда 0,
   либо передав NULL в качестве EditorInfo::FileName.
   Также надо пересобрать плагины, работающие со стековыми закладками редактора и ECTL_UNDOREDO.

2. ACTL_FREEWINDOWINFO больше нет. Память под WindowInfo::TypeName и WindowInfo::Name выделяет плагин.
   Требуемые размеры можно получить в полях WindowInfo::TypeNameSize и WindowInfo::NameSize передав туда 0,
   либо передав NULL в качестве WindowInfo::TypeName и WindowInfo::Name соответственно.

--------------------------------------------------------------------------------
garry 2009-06-15 20:16:33+03:00 - build 993

1. Ускорена загрузка файлов в редактор:
	- Для не-Unicode файлов на больших файлах (~200Мб) прирост скорости порядка 30-40%;
	- Для Unicode файлов прирост скорости загрузки порядка 20-30%.

2. Теперь при загрузке в редактор нормально обрабатываются идущие подряд MAC окончания строк;

3. Немного форматирования по ходу дела;

4. Добавлена функция xf_realloc_nomove, которая рабатает аналогично xf_realloc, за исключением
   того, что в случае перемещения буфера, она не копирует данные в новое расположение;

5. Кое-где применена функция xf_realloc_nomove.

--------------------------------------------------------------------------------
zg 2009-06-14 23:03:14+02:00 - build 992

1. DM_FREEDLGITEM больше нет.
   все плагины, использовавшие DM_GETDLGITEM/DM_FREEDLGITEM/DM_GETCONSTTEXTPTR/DM_GETDLGITEMSHORT/DM_SETDLGITEMSHORT - сломались.
   DM_GETDLGITEM - изменён, Param2 указатель на память куда будет скопирован элемент. возвращается необходимый размер буфера.

2. в диалоге копирования текла память.

--------------------------------------------------------------------------------
zg 2009-06-14 21:38:11+02:00 - build 991

1. откатим b984 пункт 2. иначе apply command иногда для некоторых файлов выполнялось по два раза.

--------------------------------------------------------------------------------
zg 2009-06-14 19:58:18+02:00 - build 990

1. farmail корректно определяет кодировку редактора.

2. если было больше одной любимой кодировки, то анси плагины получали много клонированных кодировок.

--------------------------------------------------------------------------------
lort 2009-06-13 21:07:43+03:00 - build 989

1. При переоткрытии редактора с новым файлом не сбрасывалось состояние undo

2. Запись за границу буфера если в редакторе конец строки состоит из трёх символов (\r\r\n)

--------------------------------------------------------------------------------
drkns 2009-06-13 11:59:46+02:00 - build 988

1. Обход очередного бага Windows (ключевые слова: "ClearType", "векторный шрифт", "мусор").

--------------------------------------------------------------------------------
zg 2009-06-10 20:01:03+02:00 - build 987

1. если set содержала '/', то передавалась cmd.

--------------------------------------------------------------------------------
svs 2009-06-10 14:06:05+03:00 - build 986

1. "echo." ==> "Режим вывода команд на экран (ECHO) включен."

2. Macro: Кнопоксочетания не парсились в функциях (например, "msgbox(CtrlPgUp)")

3. Macro: девиз "eval() без параметров неправильно формирует стек". в общем баг.
   + в eval: если передаем пустую строку, то нефига ничего компилить: вернет -1.

4. API: Исходя из п.3 ACTL_KEYMACRO+MCMD_POSTMACROSTRING вернет FALSE для пустой строки

--------------------------------------------------------------------------------
svs 2009-06-09 23:18:26+03:00 - build 985

1. В исполняторе учтем экрано-символ '^' и вариант "echo." (эхо с точкой!)

2. Mantis#0000912: Ctrl+PageUp problem after using Temp panel

3. Очередное "изнасилование" ApplyCommand.

4. немного форматирования кода ;-)

--------------------------------------------------------------------------------
svs 2009-06-08 22:32:42+03:00 - build 984

1. Значение параметра "Interface/ShowMenuBar" (Opt.ShowMenuBar) влияло на позицию начала показа панелей.

2. Траблы с прорисовкой после "Apply Command". Часть 1.
   Влияет наличие RedrawDesktop. Временно отключим.
   Побочный эффект - мерцание панелей.

3. Сразу после "Apply Command" установим нулевой фрейм (панели) - вопрос спорный ;-)

4. Подземные стуки с текущим каталогом после 929
   добавляем проверку TestCurrentDirectory()

--------------------------------------------------------------------------------
svs 2009-06-08 15:45:39+03:00 - build 983

1. "cd\" - живи.
   http://forum.farmanager.com/viewtopic.php?f=6&t=4126

2. небольшие проблемы с "~", например, "cd ~\.." не работал.

3. Mantis#0000910: Команды "CD", "SET" и подобные в диалоге "Apply To" (Ctrl-G)

4. "Apply Command", UserMenu и Ассоциации сделаем однотипно.
   Сейчас есть глюк с прорисовкой - поборимся позже.
   В последствии необходимо из трех однотипных кусков сделать 1 функцию.
   Так же у Ctrl-G был глюк с неудалением временных файлов, если использовались метасимволы-листинги.

--------------------------------------------------------------------------------
drkns 2009-06-07 15:38:57+02:00 - build 982

1. Mantis#0000918: При использовании "Apply to" нужен дополнительный перевод строки

2. При запуске cd без параметра выдавалось ненужное сообщение об ошибке.

--------------------------------------------------------------------------------
t-rex 2009-06-06 17:10:43+02:00 - build 981

1. from chupakabra: Несколько проблем с поиском в архивах.

2. Немного форматирования за одно.

--------------------------------------------------------------------------------
t-rex 2009-06-06 03:51:51+02:00 - build 980

from chupakabra:

1. В результатах поиска нельзя было просмотреть файлы из архивов.

--------------------------------------------------------------------------------
drkns 2009-06-05 22:07:40+02:00

1. Коррекция и обновление документации и справки.

--------------------------------------------------------------------------------
svs 2009-06-04 18:38:04+03:00 - build 979

1. Проблемы с UserMenu

--------------------------------------------------------------------------------
t-rex 2009-06-04 07:39:36+02:00 - build 978

1. Забыл удалить UnicodeString:: у функций при переносе в хидер.

2. GCC ворнинги.

--------------------------------------------------------------------------------
t-rex 2009-06-03 14:19:42+02:00 - build 977

1. Убираем alpha/beta/RC из версии.

--------------------------------------------------------------------------------
t-rex 2009-06-03 00:54:05+02:00 - build 976

1. Mantis#911: Запись за границу буфера в UnicodeString.cpp (для OEM строк)

2. За одно мелкие оптимизации для OEM строк.

3. Пробелы -> Табы в UnicodeString.cpp

--------------------------------------------------------------------------------
drkns 2009-06-02 18:12:34+02:00 - build 975

1. Учитываем, что у папок "по умолчанию" 0 потоков, а не 1.

2. 974 пункт 2 не актуален, ибо падало не там.

--------------------------------------------------------------------------------
svs 2009-06-02 08:47:52+03:00 - build 974

1. Mantis#0000908: Проблемы с сообщением ошибок в макросе

2. Падение, если в процессе загрузки попадался кривой макрос.

--------------------------------------------------------------------------------
drkns 2009-06-01 21:10:37+02:00 - build 973

1. Mantis#0000907: Маски не работают в fexist()

2. Коррекция типов в UserDefinedList: BOOL -> bool.

--------------------------------------------------------------------------------
drkns 2009-06-01 19:13:49+02:00 - build 972

1. В 970 в ParseMacroString проверялись не те флаги, как результат - не работало и вдобавок падало.

2. Продолжаем перетряхивать FindFile, часть вторая. Там же поправлена пара мелких глюков.

3. Коррекция типов в BaseFileMask и иже с ним: BOOL -> bool.

4. Уточнение 1 пункта 966 билда.

--------------------------------------------------------------------------------
zeroes 2009-06-01 18:51:19+02:00 - build 971

1. косметика в Farrus.lng "Прерыва&ние операций (Esc)" -> "Прерыва&ние
операций" потому что упоминаний про (Esc) нет в других языковых lng.

--------------------------------------------------------------------------------
svs 2009-06-01 16:49:22+03:00 - build 970

1. Mantis#0000905: Изменения в eval
     msgbox(eval("!!",1))
     Видим пустой msgbox
     Под ним - красное окошко "Macro parsing error"
     Во-первых msgbox не должен быть пустой

   так, в общем тут 2 проблемы.
   1. вывод сообщения не должен выводиться всегда... в некоторых случаях нужен режим silent
   2. так вышло, что последовательность исполнения была такой:
    а) eval
    б) eval выводит диалог (он еще не виден, т.к. стоит дизаблеоутпут)
    в) как только в памяти оказался этот диалог об ошибке, макродвиг продолжил исполнение (по сути управление получи ФАР)
    г) дошли до функции msgbox, НО! eval еще не положил в стек значение парсинга.
    д) при исполнении msgbox разлочил экран и мы увидели 2 диалога.
   в общим фиксед, но фиксед только п.2.

   АХТУНГ! НА БУДУЩЕЕ.

   Любые диагностические сообщения в макродвиге должны быть оформлены подобно тому, как это сейчас сделано в
   KeyMacro::ParseMacroString, т.е.
   1) разлочить экран
   2) увеличть InternalInput (запретить исполнение макроса)
   3) вывести диалог
   4) уменьшить InternalInput
   5) залочить экран, если перед этим он был залочен

2. Bug: Если "Interrupt operation" выключен и мы пытались загрузить большой файл, недождавшись прервали загрузку, то
   на экране оставался месаг про загрузку этого самого файла.

--------------------------------------------------------------------------------
svs 2009-06-01 15:26:55+03:00 - build 969

1. Mantis#0000902: Нельзя выйти из папки первого уровня при работе с диском через \\?\

2. Mantis#0000898: недоработка: нет проверки на открываемый размер файла
   доп.месаг, если размер все же не удалось получить...

3. Mantis#0000903: не работает функция ограничения открываемого файла в редакторе по размеру

4. Mantis#0000894: Должно быть - S=replace(Str,Find,Replace[,Cnt]) а можно вызвать только с двумя параметрами

--------------------------------------------------------------------------------
drkns 2009-05-31 20:56:30+02:00 - build 968

1. Неправильно работал apiGetFileSizeEx в предыдущем билде.

--------------------------------------------------------------------------------
drkns 2009-05-31 17:25:14+02:00 - build 967

1. Mantis#0000900: Exception: при попытке выполнить команду edit:\\.\PhysicalDrive0.

2. Mantis#0000897: Глюки с \\.\C:. Пока только первая часть - "view:\\.\C: - Видим в заголовке въювера \\\.\C: (три слеша)".

3. Mantis#0000899: Неверное сообщение что файл не существует.

4. В IsNetworkPath() не учитывался формат \\?\UNC\.

5. При разборе макросов теперь всегда выдаётся предупреждение, если макрос содержит ошибки.

--------------------------------------------------------------------------------
drkns 2009-05-30 18:24:54+02:00 - build 966

1. При удалении папки с рекурсивными симлинками (например, профиль пользователя в Vista/2008)
   могла возникать ошибка "The folder is not empty".

2. Не работала логика "показывать статус копирования не чаще 5 раз в секунду".
   Показывалось очень сильно чаще, что при копировании большого количества мелких файлов было чревато.

--------------------------------------------------------------------------------
t-rex 2009-05-30 02:47:02+02:00 - build 965

from chupakabra:

1. Mantis#691: Патч для FindFiles::SetPluginDirectory
   Корректировка и оптимизация.

2. Mantis#637: Проблемы плагинов с OPIF_REALNAMES

3. Mantis#878: Сообщение при отсутствии прав на чтение каталога

--------------------------------------------------------------------------------
t-rex 2009-05-30 02:16:58+02:00 - build 964

1. Ещё штрих.

--------------------------------------------------------------------------------
t-rex 2009-05-30 01:20:25+02:00 - build 963

1. Да, и ещё немного тоже самого :) Но теперь вроде с клавой всё :)
   Осталось сделать также для зверька, изменений размера и т.п.

--------------------------------------------------------------------------------
t-rex 2009-05-30 01:04:20+02:00 - build 962

1. Ещё корректировки в обработке HIDDEN, теперь вроде с клавой точно работает нормально.

--------------------------------------------------------------------------------
t-rex 2009-05-29 21:43:15+02:00 - build 961

1. Оптимизация 960 на случай когда нету никаких HIDDEN.

--------------------------------------------------------------------------------
t-rex 2009-05-29 21:33:45+02:00 - build 960

1. Правильный скроллинг при наличии ?IF_HIDDEN (Mantis#47), пока что только для клавы.
   Мыши нужно доделать примерно таким же образом.

--------------------------------------------------------------------------------
svs 2009-05-29 20:55:05+03:00 - build 959

1. Перетрях UserMenu - форматирование, комментирование , упрощение, etc.

   "Кривые в реестре пункты меню" пропускаются. Раньше процесс прерывался, сейчас продолжается.

   Ахтунг. В режиме isSilent имеем проблемы с командами, которые выводят что-то на экран
           Здесь необходимо переделка, например, перед исполнением подсунуть временный экранный буфер, а потом его содержимое подсунуть в ScreenBuf...
   Это относится к ассоцияциям, юзерменю...

   Для реализации Shift-F4 (в редакторе править только текущий пункт/submenu) необходимо переделать функции MenuRegToFile и MenuFileToReg
   Здесь затыка в "strItemKey.Format (L"%s\\Item%d",MenuKey,I);".

--------------------------------------------------------------------------------
t-rex 2009-05-29 03:58:00+02:00 - build 958

1. from lort: Исправление для 955. GetCPInfo для некоторых таблиц не работает, преобразовываем к ANSI в таких случаях.

2. from Kostia Romanov (kildor): немного переводов в eng.hlf.

--------------------------------------------------------------------------------
t-rex 2009-05-29 01:43:23+02:00 - build 957

from netghost:

1. Mantis#890: Far unicode (both x86 and x64) crash when opening Drive Menu on Windows 7 x64
   Add additional checks for WNetEnumResource call output

--------------------------------------------------------------------------------
drkns 2009-05-28 21:26:32+02:00 - build 956

1. С форума: "Падает Far 2.0 build 952 из-за MultiArc..."
   Только не из-за MultiArc, а из-за попыток дописать NULL к UnicodeString.

--------------------------------------------------------------------------------
t-rex 2009-05-28 15:10:00+02:00 - build 955

from lort:

1. Mantis#879: Поддержка не OEM кодировок в редакторе для старых плагинов
   Умные не юникодные плагины теперь будут реже портить текст в редакторе.

--------------------------------------------------------------------------------
drkns 2009-05-28 10:16:03+02:00 - build 954

1. Mantis#0000883: Фар 2.0 падает в Windows 7 при выборе дисков.

--------------------------------------------------------------------------------
drkns 2009-05-27 15:51:25+02:00 - build 953

1. Ещё несколько лишних sprintf.

2. Дивайдим, конкурим и перетряхиваем findfile.?pp. Часть первая.

--------------------------------------------------------------------------------
svs 2009-05-27 19:53:33+03:00 - build 952

1. Уточнение билда 951

--------------------------------------------------------------------------------
svs 2009-05-27 17:37:41+03:00 - build 951

1. После 2578/929 выявились глубинно-древние камни. При запуске "Far apath ppath" на этапе инициализации приложения для ppath
   происходила подставнока диска от apath.

2. + нефига выводить месагбокс, пока менеджер не стартанул

--------------------------------------------------------------------------------
t-rex 2009-05-27 14:51:32+02:00 - build 950

1. Устаканивание IsWordDiv.

--------------------------------------------------------------------------------
svs 2009-05-27 10:43:02+03:00 - build 949

1. Mantis#0000813: Поддержка консольных алиасов в ассоциациях.

2. Встроенные команды "умеют" /?. Прочие варианты, не реализуемые внутри ФАРа отдаются по цепочке дальше.

--------------------------------------------------------------------------------
svs 2009-05-26 23:56:23+03:00 - build 948

1. У ProcessUserMenu() параметр bool

2. Добавлена IsSpaceOrEos(), руками не мацать, нужна.

3. В GetRegKey() баг, т.к. XXX.GetLength() для 1 символа, считанного из реестра возвращала размер 2

--------------------------------------------------------------------------------
drkns 2009-05-26 20:47:53+02:00 - build 947

1. Разные мелкие оптимизации - избавляемся от конкатенации строк по sprintf(%s%s), квотирования по sprintf(\"%s\") и прочей подобной стрельбы из пушки по воробьям.

--------------------------------------------------------------------------------
drkns 2009-05-26 20:33:47+02:00 - build 946

1. Mantis0000877: Поиск при использовании фильтра зависает.

--------------------------------------------------------------------------------
ts 2009-05-25 23:25:04+02:00 - build 945

1. Уточнение к 940 когда размер колонок в процентах < 100% и нет колонок с автоматически вычесляемой шириной.

--------------------------------------------------------------------------------
drkns 2009-05-25 20:24:51+02:00 - build 944

1. Поиск умеет работать с альтернативными потоками данных.

2. Оптимизация vc-проекта.

--------------------------------------------------------------------------------
svs 2009-05-25 15:18:37+03:00 - build 943

1. Добавка в Help про Redo

2. Ins в строках ввода сбрасывал выделенный блок

--------------------------------------------------------------------------------
t-rex 2009-05-24 16:44:00+02:00 - build 942

1. Продолжаем дивайдить и конкурить хидеры. Уже почти.

--------------------------------------------------------------------------------
ts 2009-05-24 14:16:49+02:00 - build 941

1. Правка опечатки в 940

--------------------------------------------------------------------------------
ts 2009-05-24 09:34:50+02:00 - build 940

1. Mantis#0000805: Ширина колонок панели в процентах
   Реализация расчёта ширины колонок (пункт 3)

--------------------------------------------------------------------------------
zg 2009-05-24 02:37:37+02:00 - build 939

1. убрана HotkeyRules.

--------------------------------------------------------------------------------
t-rex 2009-05-23 23:23:24+02:00 - build 938

From lort:

1. Везде юзаем DList вместо TList.

--------------------------------------------------------------------------------
t-rex 2009-05-23 23:06:59+02:00 - build 937

From lort:

1. Mantis#867: Поддержка redo в редакторе

--------------------------------------------------------------------------------
t-rex 2009-05-23 22:27:45+02:00 - build 936

1. Продолжаем дивайдить и конкурить хидеры.

--------------------------------------------------------------------------------
drkns 2009-05-23 17:43:14+02:00 - build 935

1. Продолжаем разделять и властвовать.

--------------------------------------------------------------------------------
zg 2009-05-23 17:33:03+02:00 - build 934

1. после 930 в редакторе не работали alti/altu/altd. возможно и вдругих местах наблюдалось что-то подобное.

--------------------------------------------------------------------------------
t-rex 2009-05-23 15:57:09+02:00 - build 933

1. Ещё мелкая оптимизация в UnicodeString.

2. Избавился от struct.hpp.

--------------------------------------------------------------------------------
t-rex 2009-05-23 04:18:17+02:00 - build 932

1. Вроде как получилось сделать нормальное решение для KeyToKey
   которое даже несколько лучше чем в 1.75, особенно тем что теперь
   это в общем работает для всех имеющихся раскладок.

--------------------------------------------------------------------------------
t-rex & drkns 2009-05-23 00:53:26+02:00 - build 931

1. Временное решение для KeyToKey.

--------------------------------------------------------------------------------
t-rex 2009-05-22 19:45:37+02:00 - build 930

1. Продолжаем дивайдить и конкурить хидеры.

2. По дороге было замечено что InitKeysArray() и KeyToKeyLayout() (бывший LocalKeyToKey) вообще не правильно
   для 2.0 сделаны. Пометил как BUGBUG.

--------------------------------------------------------------------------------
svs 2009-05-22 14:03:57+03:00 - build 929

1. Неправльно работала функция KeyNameToKey() для "полупрямых" клавишь вида ShiftShiftCtrlDown (ну или ShiftCtrlShiftDown)
   + еще одно "ускорение" KeyNameToKey()

2. "Хождение по сетевым папкам с тормозами"
   Оптимизация работы SetDir`ов и ChageDir`ов, исключающих повторные действия, если CurDir уже является тем же, что хотим установить.
   Основные тормоза возникли где-то в районе "после 5-й беты 1.75" - Функция PrepareDiskPath().

--------------------------------------------------------------------------------
t-rex 2009-05-22 12:19:59+02:00 - build 928

1. Ещё меская оптимизация в UnicodeString.

2. Продолжаем по маленьку дивайдить и конкурить хидеры.

--------------------------------------------------------------------------------
drkns 2009-05-21 20:29:20+02:00 - build 927

1. Запускатор: перебор расширений производится в порядке, указанном в %pathext%.
   Заодно некоторый перетрях PrepareExecuteModule и IsCommandPEExeGUI.

--------------------------------------------------------------------------------
t-rex 2009-05-21 19:52:11+02:00 - build 926

1. Анси плагин "External Filter" всегда выводил странную ошибку в конце работы.
   Плагин проверяет LastError для своих нужд а во врапере вызов UnicodeToAnsiBin
   приводил к выставлению LastError при нулевых строках что и обманывало плагин.

--------------------------------------------------------------------------------
t-rex 2009-05-20 22:48:48+02:00 - build 925

1. Мда, надо идти работать в Макдональдс (http://faqs.org.ru/progr/c_cpp/cpp_lite3.htm).

--------------------------------------------------------------------------------
t-rex 2009-05-20 00:53:17+02:00 - build 924

1. "" -> L"".

2. Ещё пара мелочей.

--------------------------------------------------------------------------------
t-rex 2009-05-20 00:11:19+02:00 - build 923

1. Оптимизация в макросах на предмет использования VMStack.
   Скажем так, тот макрос который считает простые числа, будет работать маленько быстрей :)

2. Оптимизация в создании пустых UnicodeString. Местами вполне может быть очень значительно.

--------------------------------------------------------------------------------
drkns 2009-05-19 21:12:35+02:00 - build 922

1. В Execute() лишний раз вызывалась GetShellAction().

2. Не пытаемся преобразовать путь в полный, если он c префиксом \\?\ или \\.\

3. В диалоге сохранения опция "[ ] Add signature" блокируется для 1-байтных кодовых страниц.

4. Mantis#0000869: Проблема с относительными путями при открытии файла через ShiftF4

5. Вьювер теперь корректно показывает размер "файлов" \\?\c:, \\.\physicaldrive0 и т. п.

6. Пара мелочей в farwinapi.

--------------------------------------------------------------------------------
t-rex 2009-05-19 16:30:33+02:00 - build 921

1. Раз есть TStack то выкинем TVMStack и заюзаем первый для него.

2. Форматирование и gcc варнинги в TStack.

--------------------------------------------------------------------------------
svs 2009-05-18 22:12:02+03:00 - build 920

2. Mantis#0000809: push/pop-dir для "встроенных" батников
   "Бетмэн. Начало"
   Добавлены команды PUSHD, POPD, CLRD (очистка стека каталогов) - описаны в хелпе (в FarEng.hlf есть русские букофки)
   Взаимодействия с %COMSPEC% нет.

3. Для PROMT добавлен конструкт "$+" - отображение нужного числа знаков плюс (+) в зависимости от текущей глубины стека
   каталогов PUSHD, по одному знаку на каждый сохраненный путь.

4. В дополнение - переменная среды FARDIRSTACK - содержимое вершины стека каталогов (который управляется командами pushd и popd)
   FARDIRSTACK позаимствована из униха (там это DIRSTACK)

--------------------------------------------------------------------------------
t-rex 2009-05-18 18:24:35+02:00 - build 919

1. Враппер почему то отдавал анси плагинам кодировки выбраные в поиске а не favorites.

--------------------------------------------------------------------------------
t-rex 2009-05-18 02:32:07+02:00 - build 918

1. And The Saga Continues.

--------------------------------------------------------------------------------
t-rex 2009-05-18 01:13:47+02:00 - build 917

1. Вернём возможность показывать папки "." и ".." которые можно создать на фате, и подружим это с фиксом в 916.

2. Небольшая оптимизация в классе NTPath.

--------------------------------------------------------------------------------
t-rex 2009-05-17 23:50:46+02:00 - build 916

1. В некоторых случаях показывались папки "." и по два раза ".." (и за одно форматирование кода).

--------------------------------------------------------------------------------
t-rex 2009-05-17 17:06:27+02:00

1. Hungarian lng and hlf update from Far Hunor.

--------------------------------------------------------------------------------
t-rex 2009-05-17 16:28:43+02:00 - build 915

1. Меню плагинов неправильно сортировалось если ветка реестра хоткеев была пуста.

--------------------------------------------------------------------------------
t-rex 2009-05-17 14:33:23+02:00 - build 914

1. Mantis#776, назначение хоткея плагину работало в общем только для плагинов в под папках Фара,
   или если путь к плагину был длинней чем к фару. Теперь работает нормально для всех.

2. Ещё переделки и улучшения в классе PluginManager а также просто форматирование кода.

3. Хоткей для "tab size" в диалоге настроек редактора/въювера переводил фокус не туда куда надо.

--------------------------------------------------------------------------------
t-rex 2009-05-17 00:10:20+02:00 - build 913

1. По наводке от Andrey Budko, оптимизация KeyNameToKey, теперь макросы загружаются немного быстрей.

2. Доп. оптимизация и мин. переделка класса PluginManager.

--------------------------------------------------------------------------------
t-rex 2009-05-16 16:57:19+02:00

1. Добавил возможность собрать debug с gcc.

--------------------------------------------------------------------------------
t-rex 2009-05-16 12:57:57+02:00 - build 912

1. По наводке от Andrey Budko, оптимизация работы с реестром. Как минимум на порядок ускоряет загрузку и закрытие Фара.

2. gcc ворнинги.

--------------------------------------------------------------------------------
t-rex 2009-05-15 21:21:33+02:00 - build 911

1. В 910 забыл изменить PluginManager::LoadPluginsFromCache() в соответствии с новым форматом кэша.

2. За одно теперь работает /co, а он видимо никогда вообще и не работал.

--------------------------------------------------------------------------------
t-rex 2009-05-15 20:09:55+02:00 - build 910

1. На форуме жаловались что большое количество плагинов медленно грузится,
   но раз уж полез то переделал кэш плагинов в более приемлемый и оптимизированный вид.
   Там ещё бы надо в PluginManager::GetPlugin bsearch заюзать для полной красоты,
   раз уж список плагинов всегда находится в отсортированном состоянии.

--------------------------------------------------------------------------------
drkns 2009-05-14 21:44:41+02:00 - build 909

1. Ещё некоторые мелочи на тему панели задач.

--------------------------------------------------------------------------------
drkns 2009-05-14 00:49:36+02:00 - build 908

1. В Windows 7 статус выполняемых операций проецируется на кнопку в панели задач. Для gcc пока отключено.

2. При подсчёте размера папки по F3 в сообщении выводится уже насчитанное.

3. При поиске во вьювере отображается индикатор прогресса.

4. Лишняя перерисовка в дереве папок.

--------------------------------------------------------------------------------
garry 2009-05-13 16:48:26+03:00 - build 907

1. Настройка System\FindCodePage теперь REG_DWORD и содержит кодовую страницу для поиска;
2. Исправлены проблемы при инициализации списка кодовых страниц при поиске по всем кодовым страницам;
3. (С форума) В диалоге поиска, после заполнения списка кодовых страниц, в общем случае выбранная
   кодовая страница может не совпадать с той кодовой страницей, которую мы хотели установить.
   Эта ситуация учтена.

--------------------------------------------------------------------------------
svs 2009-05-13 11:23:49+03:00 - build 906

1. Mantis#0000860: msave() - сохранение переменных содержащих '\n'
   Кроме msave() таккая же беда была и в KeyMacro::WriteVarsConst()

--------------------------------------------------------------------------------
drkns 2009-05-09 17:52:42+02:00 - build 905

1. Mantis#0000861: Некорректная обработка кавычек в поиске файлов.
   Плюс немного оптимизации - проверка корректности маски выполняется в обработчике диалога, а не после его закрытия.

--------------------------------------------------------------------------------
drkns 2009-05-07 12:50:05+02:00 - build 904

1. И ещё одно уточнение, там же.

--------------------------------------------------------------------------------
drkns 2009-05-07 12:50:05+02:00 - build 903

1. Уточнение в отображении индикаторов прогресса в редакторе.

--------------------------------------------------------------------------------
svs 2009-05-06 18:54:33+03:00 - build 902

1. Mantis#0000851: Странности с макроконстантами
   Снова EnumRegValueEx.

--------------------------------------------------------------------------------
zg 2009-05-06 15:30:08+02:00 - build 901

1. варнинги в gcc 4.4.0.

--------------------------------------------------------------------------------
drkns 2009-05-04 20:11:56+02:00 - build 900

1. Фар падал при поиске текста в архивах.

2. Не работал поиск по всем кодовым страницам (а на самом деле - баг в EnumRegValue).

3. От SVS: Mantis0000851: Странности с макроконстантами (а на самом деле - баг в EnumRegValueEx).

--------------------------------------------------------------------------------
drkns 2009-05-04 12:36:22+02:00 - build 899

1. Mantis#0000852: Memory leak in apiFindFirstStream().

2. Утечки памяти в History::ReadHistory() и History::SaveHistory().

--------------------------------------------------------------------------------
drkns 2009-05-03 16:29:21+02:00 - build 898

1. В ScanTree закрывались не все хендлы.

2. Уберём пока эксперименты с Find<First|Next>File.

--------------------------------------------------------------------------------
drkns 2009-05-02 11:16:01+02:00 - build 897

1. С форума: ошибка при установке атрибутов группе файлов

--------------------------------------------------------------------------------
drkns 2009-05-01 13:42:58+02:00 - build 896

1. SetAttr:
   - Блокируем "Sparse" на томах без FILE_SUPPORTS_SPARSE_FILES.
   - "not indexed"/"temporary"/"offline" не блокируются нигде, ибо нет способа узнать, умеет ФС такое или нет.

2. Find<First|Next>File возвращал не все атрибуты на некоторых ФС.

3. Уточнение Mantis#45: содержимое символических ссылок копируется не тогда, когда ФС приёмника !="ntfs",
   а тогда, когда у ФС приёмника не установлен флаг FILE_SUPPORTS_REPARSE_POINTS.

--------------------------------------------------------------------------------
drkns 2009-05-01 01:17:29+02:00 - build 895

1. Mantis#0000833: Не работают шорткаты у старых плагинов

2. Разблокируем в SetAttr и temporary/offline, чего добру пропадать.

--------------------------------------------------------------------------------
drkns 2009-04-30 19:48:32+02:00 - build 894

1. x64 warnings.

--------------------------------------------------------------------------------
drkns 2009-04-30 17:30:41+02:00 - build 893

1. В статусных сообщениях, выводимых редактором при загрузке/сохрании/поиске/замене, теперь присутствует прогрессбар.

2. По Ctrl-A можно управлять атрибутом "Sparse".
   Ахтунг: СНЯТИЕ сего атрибута работает только в Vista и выше.

3. Продолжение Mantis#0000153.

--------------------------------------------------------------------------------
svs 2009-04-29 22:15:50+03:00 - build 892

1. Проблемы с прорисовкой:
   1. мы в корне, Tree.Far отсутствует, курсор на файле ниже предполагаемого Tree.Far, режим панели составной (имя, размер, etc.)
   2. Alt-F10, ждем построения дерева, после появления "панели" выбора в дереве жмем Esc
   3. Видим что строки "поехали".

   Сделано пока в лоб, в нужных местах выставлены комменты для TODO, может кто элегантней код сделает по проверке нужности обновления панелей.

--------------------------------------------------------------------------------
drkns 2009-04-29 19:59:23+02:00 - build 891

1. Продолжение Mantis#0000153.

2. В 16-ричном просмотре используется новый вид скроллбара.

--------------------------------------------------------------------------------
svs 2009-04-29 13:20:20+03:00 - build 890

1. Mantis#0000847: Сбивается выделение (Alt-Ins) при попытке выделить текст с помощью клавиатуры во время msgbox()

--------------------------------------------------------------------------------
drkns 2009-04-28 22:55:03+02:00 - build 889

1. По мотивам Mantis#0000153: "Было бы логичнее и при ручном нажатии [Rename] предлагать уже модифицированное счётчиком имя."

2. Используем GetFileSizeEx() вместо GetFileSize().

--------------------------------------------------------------------------------
svs 2009-04-28 18:03:38+03:00 - build 888

1. Mantis#0000841: Мусор в msgbox при неуказании опциональных параметров

--------------------------------------------------------------------------------
ts 2009-04-28 03:02:57+02:00 - build 887

1. Mantis#0000805: Ширина колонок панели в процентах
   Подготовка к реализации: задание и хранение настроек (пункт 1 и 2)
   TODO: непосредственно расчет ширины колонок

--------------------------------------------------------------------------------
drkns 2009-04-27 22:48:55+02:00 - build 886

1. В диалог подтверждения перезаписи добавлена кнопка "Rename".

2. PreRedrawFunc() вызывалась при каждом Dialog::Show(), т. е. на каждый чих, что приводило к забавным видеоэффектам.
   Теперь вызывается только тогда, когда надо.

3. Для поиска слешей в строках используем <First|Last>Slash() вместо wcs[r]chr и [R]Pos.

--------------------------------------------------------------------------------
svs 2009-04-27 21:04:01+03:00 - build 885

1. Mantis#0000843: Задержка при установке блока с помощью Editor.Sel

2. Mantis#0000842: Far повисает на старте встретив Multi-String в разделе KeyMacros\Vars
   Так, здесь проблема не в макросах, а в EnumRegValueEx
   Немного переделал эту функцию - в т.к. ValueName в динамике (если ошибся - поправьте :-)

3. В apiRegEnumKeyEx потенциальный баг... с лишним циклом при получении имени кея

4. KeyMacro\Vars & KeyMacro\Consts могут быть REG_MULTI_SZ

--------------------------------------------------------------------------------
svs 2009-04-27 10:27:38+03:00 - build 884

1. Mantis#0000838: Ошибка при выделении блока (Editor.Sel)
   Уточнение про "Если позиция начала и конца блока совпадают, то эта операция равносильна снятию пометки блока"

--------------------------------------------------------------------------------
drkns 2009-04-25 19:59:55+02:00 - build 883

1. В метасимволах !@! и !$! не работал модификатор 'A'. Туда же добавлены 'W' (создавать список в уникоде) и 'U' (создавать список в UTF8).

--------------------------------------------------------------------------------
drkns 2009-04-24 23:58:40+02:00 - build 882

1. Мелкий баг в 881.

--------------------------------------------------------------------------------
drkns 2009-04-24 23:37:02+02:00 - build 881

1. В режимах панели доступно два новых типа колонок: количество потоков / суммарный размер потоков.

--------------------------------------------------------------------------------
svs 2009-04-23 19:38:08+03:00 - build 880

1. Mantis#0000838: Ошибка при выделении блока (Editor.Sel)

2. Mantis#0000212: Добавить timestamp в истории каталогов/просмотра/редактирования
   Часть первая: внедрение математики, пока без отображения и экшена
   TODO: экшен и отображалку нужно делать в History::Select()
   Здесь так же можно добавить файловые атрибуты, тогда можно будет делать вот так: "удалить все скрытые каталоги"

--------------------------------------------------------------------------------
garry 2009-04-23 09:48:24+03:00 - build 879

1. Усовершенствования в работе с кодовыми страницами:
    - В общем списке кодовых страниц снова отображаются системные OEM и ANSI кодовые страницы;
    - В диалоге поиска файлов нормально обрабатывается ситуация, когда в списке выбора кодовых страниц
      одна кодовая страница присутсвует два раза;
    - Исправлено следующее: если открыть выпадающий список кодовых страниц, спозиционироваться на какой-либо элемент,
      а затем нажать ESC, то фар запоминал последнюю выбранную в выпадающем списке кодовую страницу, в то время как
      в самом списке оставалась выбрана старая кодовая страница. Соответственно, поиск осуществлялся не по той
      кодовой странице.

--------------------------------------------------------------------------------
svs 2009-04-22 21:07:28+03:00 - build 878

1. Mantis#0000836: Ошибки в макрофункции Editor.Sel()

--------------------------------------------------------------------------------
svs 2009-04-22 11:36:53+03:00 - build 877

1. Уточнение локировок
      есть история каталогов:
      C:\
      C:\Far.Unicode.200
      C:\Far.Unicode.200\contrib
      отмечаю последний и жму del
      выхожу по каталогам наверх -- все пункты истории залочены

--------------------------------------------------------------------------------
svs 2009-04-21 21:54:10+03:00 - build 876

1. History.
   Добавлены локировки пунктов (защита от очисток и удалений)

   В FarHun.hlf.m4 и FarEng.hlf.m4 есть русские буковки.

2. Исправлены чудеса в CopyKeyTree - 1000 не всегда достаточно для хранения данных.
   (это когда делаем "far /u foo" и в ветке foo "немного" данных отсутствует)

--------------------------------------------------------------------------------
svs 2009-04-20 21:04:27+03:00

1. В FarHun.hlf.m4 те же изменения, что и в 17.04.2009
   текст нужно "конвертнуть" на нужный язык (там на russian)

--------------------------------------------------------------------------------
drkns 2009-04-20 15:52:31+02:00

1. В 875 отвалилась хитрая сортировка заголовков в индексе справки.

--------------------------------------------------------------------------------
drkns 2009-04-20 13:40:12+02:00 - build 875

1. Mantis#0000078: Размер свободного места в симлинке при входе по сети
   Mantis#0000758: Far неправильно показывает место на диске в ссылках на сетевой ресурс

   Здесь учитываем то, что GetDiskFreeSpaceEx - умный, и сам умеет находить правильный корень для любых ссылок.
   TODO: надо учесть сей момент и в копире, с поправкой на то, что целевой путь может отсутствовать и создаваться только в процессе копирования.

2. При свёрнутом хелпе и 80x25 разъезжался текст лицензии в справке.

3. FarHun.hlf.m4 добавлен в vcproj.

--------------------------------------------------------------------------------
zg 2009-04-20 13:17:47+02:00 - build 874

1. при извлечении hotplug устройств в случае, когда 'device description' было равно 'friendly name' либо 'friendly name' было пустым,
   почему-то отображалось 'friendly name'. хотя более логичным является отображение 'device description'.

2. gcc варнинги.

--------------------------------------------------------------------------------
svs 2009-04-20 12:11:42+03:00 - build 873

1. Mantis#0000832: Неработоспособность ключа /x

--------------------------------------------------------------------------------
svs 2009-04-17 13:23:10+03:00 - build 872

1. (from ts) правки во враппере для FarCharTableA, аналогичные 869

2. (from Ariman) Mantis#0000830: Неверный расчет перемещения в функции Viewer::Up() для UTF-8

3. (from Ariman) Mantis#0000810: Неверный результат функции Viewer::vread для UTF-8

--------------------------------------------------------------------------------
svs 2009-04-17 10:51:27+03:00

1. В hlf-файлах применен параметр CtrlStartPosChar - указывает место, где будет начало последующего текста
   для примера "изменен" раздел @Editor

2. Добавлены 2 раздела: @KeyMacroEditList и @KeyMacroViewerList, "показывающие" какие макросы активны в редакторе и вьювере.
   Здесь применены хелповые макроконструктивы <!Macro:XXXX!>. Парсер хелпа заменяет их на последовательность строк вида
   <название макроклавиши> <описание из поля Description>
   все значения берутся не из реестра, а из памяти (те макросы, которые ФАР загрузил при старте и которые были назначены в текущем сеансе).

   В FarEng.hlf.m4 есть русские букоФки.

--------------------------------------------------------------------------------
drkns 2009-04-15 20:40:53+02:00 - build 871

1. В редакторе при установке кодовой страницы и сохранении файла производились попытки перекодировать пустые строки.

2. Во враппере в FCTL_GET[ANOTHER]PANELINFO производились попытки перекодировать PanelInfo.[Selected]PanelItems при отсутствии элементов на панели.

--------------------------------------------------------------------------------
drkns & zg 2009-04-14 16:50:22+02:00 - build 870

1. IsHotPlugDevice() неправильно работала в Windows 7.

--------------------------------------------------------------------------------
t-rex 2009-04-14 03:29:27+02:00 - build 869

1. av в EnumCodePagesProc при "не стандартных" имён таблиц, например под wine.

--------------------------------------------------------------------------------
garry 2009-04-13 16:31:57+03:00 - build 868

1. Исправлен небольшой баг в раскраске привнесённый в 867.

--------------------------------------------------------------------------------
garry 2009-04-13 14:14:05+03:00 - build 867

1. Исправления/улучшения работы с раскраской:
    - Исправлены проблемы возникающие, если элементы раскраски расположены не по порядку. К сожалению, в этом случае
      полностью избавиться от сканирования строки с начала не получается;
    - Функции RealPosToTab/TabPosToReal, если было включено преобразование табов в пробелы, подсчитывали расстояние
      без учёта FEDITLINE_EDITBEYONDEND, а если отключено, то с учётом. Теперь FEDITLINE_EDITBEYONDEND не учитывается
      вне зависимсоти от режима работы с табами. Вследствие чего раскраска за пределами строки возможна в любом режиме;
    - Исправлены мелкие недочёты;
    - Произведены некоторые дополнительные оптимизации.

--------------------------------------------------------------------------------
drkns 2009-04-12 16:48:16+02:00

1. Добавим форматов в Far.ico.

--------------------------------------------------------------------------------
drkns 2009-04-08 22:13:25+02:00 - build 866

1. Погнул выравнивание в предыдущем билде.

--------------------------------------------------------------------------------
svs 2009-04-08 23:23:47+03:00 - build 865

1. Mantis#0000816: Курсор не прячется при открытии viewer

2. Mantis#0000817: Неправильная макро-область

--------------------------------------------------------------------------------
drkns 2009-04-08 18:08:04+02:00 - build 864

1. Mantis#0000820: В корне подмонтированных через SUBST дисках ошибочно показывается переход в родительский каталог

2. Убран мусор из pluginold.hpp.

3. Заголовки некоторых *.<с|h>pp были в oem.

4. В syslog криво использовалась IsDebuggerPresent().

--------------------------------------------------------------------------------
drkns 2009-04-07 18:55:13+02:00 - build 863

1. Не работала проверка на HelpOnHelpTopic при вызове справки - при удерживании F1 стек возврата забивался черт знает чем.

2. Используем LIF_GRAYED вместо LIF_DISABLE в диалогах поиска и копирования.

3. x64 warnings.

4. Изменения в API:
    - в FSF.GetFileOwner добавлен 4-й параметр - размер приёмника;
    - Функция возвращает требуемый размер буфера.

5. Утечка памяти в FileList::ChangeDir.

6. Истреблён NM в некоторых местах.

7. Копир, поиск, дерево и прочие, использующие ScanTree - падали на путях глубже 130 каталогов.

--------------------------------------------------------------------------------
t-rex 2009-04-07 17:43:53+02:00 - build 862

1. Верхний пункт истории был в общем не доступен.

--------------------------------------------------------------------------------
drkns 2009-04-06 19:45:29+02:00 - build 861

1. Убрано ограничение на размер строки ввода в диалогах, там же поправлено несколько BUGBUG и убраны неиспользуемые переменные.

2. На панелях не отображались каталоги с именем "." (да, и такое иногда бывает).

3. "Плавала" сортировка по размеру.

4. Не сбрасываем TopPos при удалении элемента из истории.

5. ProcessOSAliases в FileList::ApplyCommand().

--------------------------------------------------------------------------------
garry 2009-04-06 14:59:36+03:00 - build 860

1. Доделан поиск по все кодовым страницам:
    - по умолчанию поиск работает по старому, то есть ищет по стандартным и любимым кодовым страницам;
    - в выпадающем списке теперь можно выбрать те стандартны и любимые кодовые страницы по которым
      будет осуществляться поиск при выборе пункта "Все кодовые страницы". Выбрать кодовую страницу
      можно Ins-м и Space-ом;
    - В реестре этот выбор хранится там же где и любимые кодовые страницы. В значении ключа реестра кодовой
      страницы теперь различается два флага: 1 -- любимая кодовая страница, 2 -- кодовая страница выбранная
      для поиска по всем кодовым страницам.

2. В списках кодовых страниц теперь не отображаются кодовые страницы соответствующие системным OEM и ANSI
   кодовым страницам.

--------------------------------------------------------------------------------
t-rex 2009-04-06 11:02:01+02:00 - build 859

1. Удаление последнего элемента из истории переводило выделение на начало списка.

--------------------------------------------------------------------------------
zg 2009-04-06 00:58:22+02:00 - build 858

1. после 856 раскраска глючила в режиме EXPAND_ALLTABS.

--------------------------------------------------------------------------------
zg 2009-04-06 00:25:16+02:00 - build 857

1. исправлен gcc билд.

--------------------------------------------------------------------------------
garry 2009-04-05 00:35:08+03:00 - build 856

1. Оптимизирована раскраска очень длинных строк. По идее должно работать, либо как раньше, либо быстрее.
   Для достижения наилучшей производительности раскраска в ColorList должны быть расположена по порядку.

--------------------------------------------------------------------------------
t-rex 2009-04-04 22:27:16+02:00 - build 855

1. Ещё мелкий бажок в TList. Заметил faruh.

--------------------------------------------------------------------------------
t-rex 2009-04-04 16:31:10+02:00 - build 854

1. Ещё немного внутренних переделок в истории. Как вытекающее - ShiftDel удаляет текущий пункт.

2. Ещё пару багов в TList.

--------------------------------------------------------------------------------
t-rex 2009-04-04 13:27:18+02:00

1. Hungarian lng update from Far Hunor.

--------------------------------------------------------------------------------
drkns 2009-04-04 00:54:42+02:00 - build 853

1. Неуникодные плагины теперь метятся не дописыванием [A] к имени, а символом в "служебной области" меню.

2. x64 warning.

--------------------------------------------------------------------------------
drkns 2009-04-03 20:37:18+02:00 - build 852

1. Из VMenu::AddItem убран AssignHighlights, ибо:
    - сие приводило к сказочным тормозам в длинных меню и списках;
    - AssignHighlights уже есть в ShowMenu.
   Там же: убран неиспользуемый код и немного оптимизации.

--------------------------------------------------------------------------------
garry 2009-04-03 19:40:01+03:00 - build 851

1. Переработан диалог печати:
   - Сделано динамическое выделение памяти для списка принтеров (буфера иногда не хватало);
   - Сетевые и локальные принтеры теперь получаются вместе;
   - Список принтеров теперь получается через PRINTER_INFO_4W, что избавляет от зависаний при наличии
     недоступных сетевых принтеров. Вследствии этого в списке теперь отображается только имя принтера;
   - Принтер по умолчанию теперь отмечается галочкой.

--------------------------------------------------------------------------------
t-rex 2009-04-03 17:26:47+02:00 - build 850

1. История полностью переписана, изменения чисто внутренние, на использование не должно влиять.
   Единственное (надеюсь) видимое изменение это то что больше нет пустой строки в конце, если в ней был какой то
   сокровенный смысл то пишите, верну.
   Заодно исправлены Mantis#690 и Mantis#450.

2. Ужасы в TList.hpp.

--------------------------------------------------------------------------------
drkns 2009-04-01 21:33:08+02:00 - build 849

1. Не работало отключение автоопределения кодовых страниц в редакторе/просмотре.

--------------------------------------------------------------------------------
svs 2009-04-01 20:54:14+03:00 - build 848

1. Mantis#0000047: *IF_HIDDEN
   Добавлены флаги LIF_HIDDEN (для листов/комбо/историй полей ввода, в общем списков) и MIF_HIDDEN для
   менюх.
   Патч крайне экспериментальный (при юзании этих флагов, в "обычной жизни" все ок).
   Возможно нужны уточнения.
   VMENU_QUICKSEARCH будет после нормализации работы VMenu с *IF_HIDDEN.

2. Плюс к этому флаги [L|M]IF_GRAYD.
   Смысл флагов: стать курсором на такой пункт можно, но тыкание мышкой или Enter на таком пункте не работает
   (этот пункт не производит активных действий)
   Соответственно палитра потолстела на 10 пунктов.
   В раскраске у таких пунктов нет горячих клавиш, соответственно красим только normal и selected.

--------------------------------------------------------------------------------
drkns 2009-03-30 18:24:04+02:00 - build 847

1. Если фар не смог выполнить команду вида "cd какой-то_путь", то в %comspec% она больше не передаётся, т.к.
   во первых, смысл в этом всё равно отсутствует чуть более, чем полностью, во вторых, если путь - сетевой,
   то ругань комспека на unc-пути вводит пользователя в заблуждение.
   Вместо этого теперь показываем красивое красное сообщение с текстом ошибки, как в панелях.
   Также в ProcessOSCommands добавлена обработка команды "exit" и немного косметики.

--------------------------------------------------------------------------------
svs 2009-03-30 15:05:57+03:00 - build 846

1. Уберем немного варнингов.

2. При считывании макросов из реестра так же сохраняются поля "Description".

3. В хелп добавлена обработка макроконструктивов.
   Пока обрабатываются <!Macro:!> - показывающие в помощи макросы, работающие в текущем сеансе
   Кроме сочетания клавиш выводятся описания (если они есть) - в реестре это "Description".
   В этом билде hlf-файлы не скорректированы - необходимо определиться с форматом CtrlStartPosChar

--------------------------------------------------------------------------------
t-rex 2009-03-30 00:42:57+02:00 - build 845

1. Mantis#750: Неинициализированная переменная strInitedLanguage приводит к падению Far.
   И тоже самое с strPersonalPluginsPath.

--------------------------------------------------------------------------------
t-rex 2009-03-29 21:43:12+02:00 - build 844

1. Несколько мелочей.

--------------------------------------------------------------------------------
t-rex 2009-03-29 17:31:41+02:00

1. Hungarian lng and hlf updates from Far Hunor.

--------------------------------------------------------------------------------
t-rex 2009-03-28 23:25:18+02:00 - build 843

1. Отключенные драйвы которые теперь показываются в меню дисков теперь имеют соот. описание чтоб было понятно.
   Ну и разные мелочи с этим связанные.

--------------------------------------------------------------------------------
drkns 2009-03-28 20:10:26+02:00 - build 842

1. Ошибка в предыдущем патче.

--------------------------------------------------------------------------------
drkns 2009-03-28 19:07:10+02:00 - build 841

1. "Интеллектуальные" полосы прокрутки: высота ползунка пропорциональна количеству прокручиваемого.
   Во вьювере пока оставлен старый вариант.

2. Удаление всех записей из истории ввода диалога приводило к падению.

3. network.?pp добавлены в проект.

--------------------------------------------------------------------------------
t-rex 2009-03-28 19:54:38+02:00 - build 840

1. Пару проблем в пердыдущем патче.
   Надо наверно ещё придумать как помечать эти отключеные драйвы которые теперь показываются в меню дисков.

--------------------------------------------------------------------------------
t-rex 2009-03-28 17:20:46+02:00 - build 839

1. From dialex: Mantis#363: Support for network disks

2. Теперь вроде pch будет пересобиратся когда надо.

--------------------------------------------------------------------------------
svs 2009-03-27 11:50:18+03:00 - build 838

1. Mantis#0000801: FarInputRecordToKey() игнорирует dwControlKeyState

--------------------------------------------------------------------------------
drkns 2009-03-26 18:43:43+02:00 - build 837

1. "Защита от дурака" для случая Mantis#0000800, ну и вроде как Mantis#0000765 сюда же.

2. Иногда при смене диска ломились не туда, куда надо.

--------------------------------------------------------------------------------
drkns 2009-03-25 21:03:34+02:00 - build 836

1. Mantis#0000800: FAR падает при попытке показать дерево, если в файле tree2.far присутвуют длинные пути

--------------------------------------------------------------------------------
svs 2009-03-25 20:58:07+03:00 - build 835

1. Mantis#0000799: Buffer overrun in Editor::BlockLeft

--------------------------------------------------------------------------------
drkns 2009-03-24 18:43:59+02:00 - build 834

1. Неправильно отображалась разделительная линия в диалоге параметров поиска.

--------------------------------------------------------------------------------
drkns 2009-03-23 20:05:37+02:00 - build 833

1. Неперерисовка после закрытия дерева папок. В 1.7х исправлено ещё в 2194, сюда почему-то не попало.

2. UnicodeString::c_str() -> CPtr().

--------------------------------------------------------------------------------
t-rex 2009-03-21 12:59:12+02:00

1. Updates and corrections in Hungarian lng from Far Hunor.

--------------------------------------------------------------------------------
svs 2009-03-20 22:20:25+03:00 - build 832

1. Macro: V=callplugin(SysID[,param])

--------------------------------------------------------------------------------
drkns 2009-03-19 19:02:25+02:00 - build 831

1. 829 не собирался в гцц. То ли лыжи не едут, то ли...

2. В UnicodeString добавлен const wchar_t *c_str() (название обсуждаемо), равносильный оператору const wchar_t*.

3. Косметические правки в lng.

--------------------------------------------------------------------------------
t-rex 2009-03-19 13:48:11+02:00

1. Polish translation (lng file) from Maciej Ogrodniczuk.

--------------------------------------------------------------------------------
svs 2009-03-19 12:51:37+03:00 - build 830

1. Mantis#0000794: Empty menu can't be shown from ANSI plugins
   from: darkmist

--------------------------------------------------------------------------------
t-rex 2009-03-19 11:04:52+02:00

1. Corrections in FarHun.hlf.m4 from Far Hunor.

2. Немного грамматики в FarEng.hlf.m4.

--------------------------------------------------------------------------------
drkns 2009-03-18 23:48:38+02:00 - build 829

1. Редактор умеет читать открытые на запись файлы (опционально). Как следствие - некоторый перетрях диалога настроек
   редактора, ибо в 80x25 новая опция уже не лезла (а заодно и вьювера, дабы выглядели более/менее в одном стиле).
   Теперь влезает, ещё и место остаётся.
   Заодно скроем из локальных настроек редактора/вьювера ещё пару неактуальных для данного режима опций.
   В FarEng.hlf.m4 есть русские буквы.
   В FarHun.hlf.m4 надо обновить разделы @ViewerSettings и @EditorSettings.

2. Упорядочим использование флага FILE_FLAG_POSIX_SEMANTICS для CreateFile. Теперь оный не размазан по коду,
   а используется централизованно в обёртке apiCreateFile, но только для случая dwCreationDistribution==OPEN_EXISTING,
   ибо позволять пользователю самому создавать такое чудо - это уже перебор.

3. При неудачной загрузке файла в редактор не отображался результат GetLastError()

4. Неиспользуемая переменная в main.cpp

--------------------------------------------------------------------------------
svs 2009-03-18 22:42:31+03:00 - build 828

1. Убираем несостоявшиеся эксперименты с двойными тыками в макросах.
   MsM1DblClick, MsM2DblClick, MsM3DblClick, MsLDblClick, MsRDblClick - таких клавиш нет.
   Причины:
   1) если есть макросы на MsLDblClick и MsLClick, то (всегда!) сначала сработает MsLClick, а за ним MsLDblClick.
   2) ну оооочень медленно

2. Mantis#0000790: Buffer overrun in KeyMacro::GetIndex

--------------------------------------------------------------------------------
svs 2009-03-16 20:56:35+03:00 - build 827

1. Mantis#0000165: Макросы на кнопки мыши
   End of game - двойные тыки тоже обмакросены.
   MsM1DblClick, MsM2DblClick, MsM3DblClick, MsLDblClick, MsRDblClick

2. Не совсем корректно был реализован Mantis#0000762.

3. Mantis#0000785: Filters in search are broken
   В FileFilter::FileInFilter() добавлен второй параметр типа enumFileInFilterType,
   уточняющий, почему функция вернула false или true.

4. В FarEng.hlf.m4 есть русские буквы.
   В FarHun.hlf.m4 нужно уточнить раздел @KeyMacroSetting про "и другие клавиши мыши".

--------------------------------------------------------------------------------
drkns 2009-03-15 10:14:34+02:00 - build 826

1. Глюки при таскании мышью полос прокрутки в редакторе, просмотре и панелях.

--------------------------------------------------------------------------------
t-rex 2009-03-14 20:28:48+02:00 - build 825

1. From Alexey Pakhunov: Mantis#787: Buffer overrun in nsMBCSGroupProber::HandleData.

--------------------------------------------------------------------------------
drkns 2009-03-14 11:34:05+02:00 - build 824

1. С форума: не работала кнопка "пропустить всё" при копировании сжатых папок и файлов.

--------------------------------------------------------------------------------
t-rex 2009-03-13 16:03:43+02:00 - build 823

1. Hungarian HLF file from Far Hunor.

2. From Alexey Pakhunov: Mantis#782: FileList::ProcessEnter падает после ChangeDir.
   А также видимо исправляет Mantis#734 и Mantis#743.

--------------------------------------------------------------------------------
drkns 2009-03-12 19:37:22+02:00 - build 822

1. Граббер сбрасывал режим выделения по приходу KEY_IDLE.

2. При пометке файлов правой кнопкой обрабатываем и двойной клик тоже.

3. Уточнение в выделении текста двойным кликом.

4. В диалог поиска уже толком не влезают ни комбобокс с кодовыми страницами,
   ни поле ввода текста (особенно с оглядкой на regexp), посему элементы диалога слегка передвинуты.

5. Mantis#0000781:Buffer overrun in VMenu::ShowMenu

6. При неудачном открытии файла не удалялся FileViewer.

7. Лишние delete и strdup вместо xf_strdup в паре мест.

--------------------------------------------------------------------------------
svs 2009-03-12 20:27:06+03:00 - build 821

1. Mantis#0000780: Парсер: не всегда принимается вызов функции Sleep
   Т.к. в билде 2450 появилась клавиша Sleep, то появилась и проблема :-)
   Переименуем клавишу в Standby.

2. Mantis#0000762: Не находятся символические ссылки

--------------------------------------------------------------------------------
drkns 2009-03-11 01:35:29+02:00

1. Криво создавался farkeys.hpp

--------------------------------------------------------------------------------
drkns 2009-03-10 19:15:58+02:00 - build 820

1. Уточнение 737 билда: WaitKey() считает "любыми настоящими клавишами" не только те,
   которые меньше KEY_END_FKEY, но и некоторые из INTERNAL_KEY_BASE.

2. Клавиши KEY_SLEEP и KEY_DECIMAL передвинуты из INTERNAL_KEY_BASE в EXTENDED_KEY_BASE,
   ибо таки имеют реальные VK_-прототипы, в отличие от.

3. Проект MOUSEKEY извёрнут несколько в другую сторону, но итог примерно тот же:
   в редакторе, комстроке и полях ввода диалогов двойной клик выделяет слово, тройной - всю строку.

4. Mantis#0000774: Не верно работает перименование junction-в на сетевых дисках.

--------------------------------------------------------------------------------
t-rex 2009-03-10 11:39:46+02:00 - build 819

1. Будем считать что если детектор определил что таблица "x-mac-cyrillic" то это всётаки Win-1251 так как они очень похожи
   и 1251 встречается чаще (в рамках фара, да и в мире тоже :) а вот детектор бывает путает и определяет 1251 как mac.

   Дектор у нас наверно ошибается потому что ему передаётся только кусок файла, по хорошему надо сделать чтоб детектор получал
   весь файл по кусочкам. Может там уже есть АПЙ для этого?

--------------------------------------------------------------------------------
drkns 2009-03-09 12:56:57+02:00 - build 818

1. Mantis#0000775: баг в SHErrorToWinError

--------------------------------------------------------------------------------
t-rex 2009-03-07 18:50:04+02:00

1. Hungarian translation (lng file) from Far Hunor.

2. Обновил lng.generator.

--------------------------------------------------------------------------------
svs 2009-03-06 13:24:30+03:00 - build 817

1. Mantis#0000773: Комбинация макросов приводящая к мусору в клавиатурном буфере (при запуске фара с плагином, выводящем при старте диалог)

--------------------------------------------------------------------------------
drkns 2009-03-06 00:01:07+02:00 - build 816

1. В 809 немного поломал макросы.

--------------------------------------------------------------------------------
svs 2009-03-05 12:17:32+03:00 - build 815

1. Mantis#0000771 - утчонение:
   для Cmd&1 функция evalFunc() должна вернуть false всегда (т.к. исполнять нечего)

--------------------------------------------------------------------------------
t-rex 2009-03-05 10:27:10+02:00 - build 814

1. Правка Mantis#769 в 813 не правильная.

2. Ворнинги.

--------------------------------------------------------------------------------
svs 2009-03-05 09:42:34+03:00 - build 813

1. Mantis#0000771: Опечатка в справке по аргументам коммандной строки

2. Mantis#0000769: Ошибка в Dlg.GetValue
   (так же здесь DM_LISTGETITEM применялась для первого элемента диалога, вместо запрашиваемого Index)

--------------------------------------------------------------------------------
drkns 2009-03-04 21:48:39+02:00 - build 812

1. Разные мелкие глюки в отображении диалога результатов поиска.
   Там же: сепараторы в списке рисуем как сепараторы.

2. Неправильно работала функция TruncStrFromEnd.

3. В логике дорисовывания рамки меню не учитывалась ситуация BoxType==NO_BOX.

4. Mantis#0000730: Far2: падение при DM_LISTINSERT.

--------------------------------------------------------------------------------
svs 2009-03-04 17:48:01+03:00 - build 811

1. Mantis#0000768: Расширение параметров макрофункции eval() для проверки корректности макропоследовательности
   N=eval(S[,T])
   N = код ошибки
       enum errParseCode
       {
         err_Success,
         err_Unrecognized_keyword,
         err_Unrecognized_function,
         err_Not_expected_ELSE,
         err_Not_expected_END,
         err_Unexpected_EOS,
         err_Expected,
         err_Bad_Hex_Control_Char,
         err_Bad_Control_Char,
         err_Var_Expected,
         err_Expr_Expected,
       };
   T = "как". Пока так: 0 - компиляция и исполнение, 1 - только компиляция и возврат кода ошибки.

--------------------------------------------------------------------------------
t-rex 2009-03-04 15:52:31+02:00 - build 810

1. Правки в regexp либе, от Кости.

2. Some grammar in German translation. By Wolfgang Krumm.

3. Варнинги и форматирование в macro.cpp.

--------------------------------------------------------------------------------
drkns 2009-03-03 21:55:07+02:00 - build 809

1. В диалог параметров макрокоманды добавлено поле "Sequence:", содержащее текстовое представление
   набранного пользователем макроса, что позволяет не отходя от кассы разбавить сухие нажатия клавиш
   разнообразными элементами макроязыка (и да - я помню про DI_MEMOEDIT, и что с ним сие было бы
   гораздо круче. Но где ещё тот DI_MEMOEDIT, а пока что обкатаем технологию).

--------------------------------------------------------------------------------
svs 2009-03-03 20:36:33+03:00 - build 808

1. Mantis#0000767: Результат функции Menu.Select() вызванной из неверного контекста

--------------------------------------------------------------------------------
drkns 2009-03-03 00:18:19+02:00 - build 807

1. Не работал поиск в панели плагина.
   Похоже, забыли сделать InitInFileSearch() для случая PluginMode.

2. Имела место утечка памяти в поиске при (•) Selected folders.
   Похоже, InitInFileSearch() делали не там где надо.

--------------------------------------------------------------------------------
drkns 2009-03-02 19:32:52+02:00 - build 806

1. Однако, не всё прибил в 805.

--------------------------------------------------------------------------------
drkns 2009-03-02 18:48:53+02:00 - build 805

1. При перетаскивании файла в консоль (или при вставке текста через меню окна)
   нелатинские символы превращались в киргуду.

2. Прибита опция "Middle button equals Enter in panels" в "Interface settings".
   Ибо макросы.

--------------------------------------------------------------------------------
svs 2009-03-02 19:38:51+03:00 - build 804

1. Mantis#0000165: Макросы на кнопки мыши
    Здесь в теле макрокоманды доступны константы (обновляются):
    MsX, MsY - координаты мыши
    MsButton - состояние клавиш, описано в хелпе для MOUSE_EVENT_RECORD
    MsCtrlState - состояние клавиш, описано в хелпе для MOUSE_EVENT_RECORD

    Назначать макрос можно на [Alt|Ctrl|Shift]Ms[L|R|M[1|2|3]]Click - выбираются в диалоге назначения макроклавиши.

    Например :crazy:
    Shell\MsLClick="$if (MsY < Far.Height-1) F1 $Else $Akey $End"
    Если кликнули в строке кейбара - отработает то, что на лейбах написано. Если выше - повится подсказка.

    Здесь етсь ахтунги:
    1. Для мышиной клавиши, которая встречается в теле макроса (Ms[LRM[123]]Click), вернем значение
       события MOUSE_EVENT, соответствующее _последнему_ событию мыши.
       (lastMOUSE_EVENT_RECORD - всегда заполняется при поступлении событий мыши)
    2. Если в макропоследовательности предыдущая клавиша мышиная - сбросим состояние панели Drag,
       иначе в панелях получаем незапланированный Drag.

2. В диалоге назначения макроклавиш "становится тесно", поэтому для визуальной ориентации в списке
   разделим наборы сепараторами.
   + вместо [модификаторы]MsWheelXXX строки для комбобокса формируются с помощью KeyToText

3. Введена функция KeyMacro::SetMacroConst(), позволяющая оперативно изменять "макроконстанты".

4. KEY_MS??CLICK клавиши фиктивные, ФАР и плагины в чистом виде (кроме макродвижка) их не "видят"

--------------------------------------------------------------------------------
drkns 2009-03-02 01:30:00+02:00 - build 803

1. Зависал поиск по всем кодовым страницам.

2. Избранные кодовые страницы теперь хранятся не в CodeTables\Selected, а в CodePages\Favorites.

3. Ещё немного косметики на предмет chartable -> codepage в коде.

--------------------------------------------------------------------------------
drkns 2009-03-01 21:15:30+02:00 - build 802

1. В findfile.cpp "магические числа" заменены именованными константами.

2. Коррекция hlf/lng на предмет "character table" -> "code page".

3. Ещё одно уточнение в рисовалке меню.

--------------------------------------------------------------------------------
t-rex 2009-03-01 12:36:10+02:00 - build 801

1. Mantis#760: Новая реализация поиска по содержимому файлов, а так же любимых таблиц символов.
   From DiRTy_GaRRy.

   # Поиск по содержимому файлов (ALT+F7):

       * Поиск по стандартным и любым системным кодировкам;
       * Поиск по всем кодировкам. Сейчас понятие "все таблицы символов" сильно расширилось, так как FAR теперь работает
         с системными кодировками, а их много. Пока в случае поиска по всем таблицам символов сделан поиск по UTF-16, OEM
         и ANSI, но это не правильно. Так что, предложения по данному пункту принимаются.
       * Таблица символов поиска теперь сохраняется, только, если не выбран пунет все "Все таблицы символов".

   # Списки таблиц символов:

       * Выбор таблиц символов теперь выглядит везде (создание/сохранение файла, выбор таблицы символов в редакторе/просмотрщике, поиск файлов) одинаково.
       * Не доступные на данный момент в редакторе/просмотрщике таблицы символов показываются выключеными;
       * Заполненеие списков таблиц символов перенесено в единое место;
       * Сделал любимые таблицы символов, как я предлагал изначально (Mantis#660);
       * Убрана настройка CPMenuMode.

   # Разное:

       * Немного улучшена рисовалка меню:

2. Пару исправлений связанных с языковыми файлами.

3. gcc варнинги в UCD.

--------------------------------------------------------------------------------
t-rex 2009-02-26 23:21:41+02:00

1. German translation (lng file) from Thomas Wolf.

2. Перевёл MEditOpenCreateLabel на Чешский и Немецкий :)
   !!! Заметка на будущее, при добавлении новых языковых строк помечайте те строки которые
   вы не знаете как перевести соловом upd: вот таким образом, чтоб было легко найти:
   upd:"Строка"
   lng.generator знает о такой пометке и выводит напоминания на экран !!!

--------------------------------------------------------------------------------
drkns 2009-02-26 08:47:51+02:00 - build 800

1. В процессе копирования/переноса в ".." производилась попытка этот самый ".." создать.
   Причём на FAT это даже получалось.

--------------------------------------------------------------------------------
svs 2009-02-26 00:14:42+03:00 - build 799

1. Уточнение для "~". Добавлена обработка символов "после тильды".

2. В диалоге открытия файла на редактирование (Shift-F4) в явном виде указывались подписи,
   был указан совершенно левый топик помощи.
   Czech-вариант для MEditOpenCreateLabel оставлен по английски - не владах с этой мовой ;-)

3. Немного хелпа про редактор (опять добавка русских буковок в английское писание ;-)):
   а) новый раздел @FileOpenCreate - для диалога Shift-F4
   б) в разделе @FileSaveAs - писание про кодовую страницу и BOM.

   Текстовку возможно придется уточнять. Если у кого есть предложения - Wелкам!

4. Непонятки!
   а) Кстати, термин "REVERSEBOM" - это так и должно быть или есть осмысленное название?
   б) В fileedit.cpp есть строка:
       Message(MSG_WARNING, 1, L"WARNING!", L"Editor will be reopened with new file!", MSG(MOk));
      так и должно быть или все же ОНО должно "говорить" на языке выбранного интерфейса?

--------------------------------------------------------------------------------
drkns 2009-02-25 20:47:41+02:00 - build 798

1. Mantis#0000759: При попытке поиска (Alt-F7) на сетевом ресурсе вида \\host\c$ получаем AV exception

2. Mantis#0000761: Не совсем корректная работа с папками оканчивающимися на "."

--------------------------------------------------------------------------------
ts 2009-02-25 15:26:18+02:00 - build 797

1. FarCharTableA: кроме "любимых", всегда первыми возвращаем OEM и ANSI таблицы. Коррекция поведения при ошибке.

--------------------------------------------------------------------------------
zg 2009-02-24 22:17:53+02:00 - build 796

1. пара опечаток в FileList::FileListToPluginItem2.

--------------------------------------------------------------------------------
drkns 2009-02-24 21:32:15+02:00 - build 795

1. Mantis#0000753: "Skip all" для ошибок удаления исходных файлов при перемещении

2. Mantis#0000757: x64 Far. после поиска по Alt-F7 при попытке просмотра файла (F3) валится с AV exception.

--------------------------------------------------------------------------------
drkns 2009-02-24 19:19:50+02:00 - build 794

1. Иногда пропадал второй символ первой строки при просмотре файла в utf8.

2. В farlang.templ.m4 были униховские переводы строк.

3. Раз уж у нас lng теперь в этом вашем utf8, пусть и hlf будут в нём же.

--------------------------------------------------------------------------------
t-rex 2009-02-24 13:53:17+02:00

1. Czech translation (lng file) from Radek Kubicek.

--------------------------------------------------------------------------------
svs 2009-02-24 14:50:45+03:00 - build 793

1. Mantis#0000754: F1 не работает в плагинах

--------------------------------------------------------------------------------
warp 2009-02-24 14:40:00+03:00 - build 792

1. Отключим автоматическое определение кодировки для .hlf/.lng (то, которое испольует таблицы, определение
   по BOM остается). Это забавно, но если детектор промахивается - читать полученное невозможно, исправить тоже.

--------------------------------------------------------------------------------
svs 2009-02-24 11:49:33+03:00 - build 791

1. Macro: N=atoi(S[,radix])
   radix=0 ==> autodetect

--------------------------------------------------------------------------------
yjh 2009-02-24 08:56:09+03:00 - build 790

1. Предупреждения кастингов в 64-бит

--------------------------------------------------------------------------------
zg 2009-02-23 23:08:36+02:00 - build 789

1. FCTL_FREEPANELITEM больше нет. FCTL_GET[SELECTED|CURRENT]PANELITEM возвращают необходимый размер буфера.
   все плагины, использовавшие FCTL_* - сломались.

--------------------------------------------------------------------------------
drkns 2009-02-23 19:43:31+02:00 - build 788

1. И ещё раз продолжение 785.

--------------------------------------------------------------------------------
drkns 2009-02-23 07:11:48+02:00 - build 787

1. Опечатка в 785.

--------------------------------------------------------------------------------
drkns 2009-02-22 23:25:01+02:00 - build 786

1. Не работали CtrlP/CtrlM для вертикальных блоков, ибо IsClipboardFormatAvailable
   по определению ничего не знает о внутреннем фаровском буфере обмена.

2. Не собирался отладочный вариант.

--------------------------------------------------------------------------------
drkns 2009-02-22 12:52:54+02:00 - build 785

1. Мелкие глюки при сохранении файла в редакторе и c определением кодировки во вьювере.

2. Используем IsSlash() вместо '\\' везде, где надо.

3. Обновил проект.

--------------------------------------------------------------------------------
t-rex 2009-02-22 12:12:26+02:00 - build 784

1. Добавил в nsUniversalDetectorEx.h конвертацию имён в nCodePage для всех поддерживаемых фаром таблиц которые может вернуть мозиловский детектор.

2. Удалил prmem.c из корня ибо он есть и в UCD. Надо проект обновить.

--------------------------------------------------------------------------------
drkns 2009-02-22 11:39:41+02:00 - build 783

1. Криво работала вставка вертикальных блоков из буфера обмена.

--------------------------------------------------------------------------------
drkns 2009-02-22 02:41:43+02:00 - build 782

1. Дополним vc-проект и починим мейки.

--------------------------------------------------------------------------------
warp 2009-02-22 02:11:00+03:00 - build 781

1. Бонус-тайм. Если повезет может определяться все, что умеет определять автодетектор кодировок от
   Mozilla. Побочные эффекты в наличии.

   До починки make-ов собрать можно будет только проектом!

2. Ну и диалог сохранения файла поправим в размерах.

--------------------------------------------------------------------------------
drkns 2009-02-21 22:13:13+02:00 - build 780

1. UTF8 может определяться и без наличия сигнатуры (если повезёт :)

2. В диалог сохранения добавлена опция, определяющая, надо ли писать в файл сигнатуру.

3. Mantis#0000706: opening very short file gives messed up encoding
   Ужесточён алгоритм определения UTF16 LE/BE. Пусть уж лучше будет ложный ascii, чем ложный уникод.

--------------------------------------------------------------------------------
drkns 2009-02-21 14:56:50+02:00 - build 779

1. Автоопределение кодовой страницы во вьювере, аналогичное редакторному.

2. В PrepareDiskPath криво обрабатывались отностительные пути вида c: или d:dir

3. параметр Layout\PassiveFolder удалён, т.к. есть Panel\<Left|Right>\<Folder|Focus>

--------------------------------------------------------------------------------
svs 2009-02-19 21:28:08+03:00 - build 778

1. Mantis#0000710, приведем к униходу.

2. в хелпе неудачно "пошутил" на счет "если плагин НЕ имеет файла-помощи"

--------------------------------------------------------------------------------
svs 2009-02-19 20:58:19+03:00 - build 777

1. Mantis#0000710: При выборе диска буквами - всегда выбирается дисковод A: (в telnet)
   Отличие от оригинальное патча от Maximus: код немного причесал, вместо "5" поставил countof(Layout)

2. Mantis#0000748: Undo/вставка не работают
   В 1.7 функцию IsClipboardFormatAvailable() применил, а в 2.0 думал про нее, но как то... видимо кто-то отвлек, ну и...

3. варнинги в VC от пред.патчей.

--------------------------------------------------------------------------------
drkns 2009-02-19 17:39:21+02:00 - build 776

1. "Немного" :) перестарался с UnicodeString в предыдущем билде.

--------------------------------------------------------------------------------
drkns 2009-02-19 15:32:33+02:00 - build 775

1. Mantis#0000739: cannot search for 0x00 hex value
   UnicodeString был не особо приспособлен для хранения двоичных строк.

2. Как оказалось, ещё не работал hex-поиск для всех символов выше 0x7f.

3. Косметика в ChangeDiskMenu.

--------------------------------------------------------------------------------
svs 2009-02-19 11:49:46+03:00 - build 774

1. Mantis#0000740: Некорректная вставка вертикального блока
   FAR 2.0 теперь работает с новым форматом - "FAR_VerticalBlock_Unicode", старый
   поддерживается только для "чтения".
   (в 1.75 будет добавлена поддержка "FAR_VerticalBlock_Unicode" на уровне "readonly")

2. CopyToClipboard() допускает параметр, равный NULL = "очистить буфер обмена"

3. InternalCopyToClipboard() сама не чистит буфер (EmptyClipboard), это делает CopyToClipboard().
   В этом случае используя InternalCopyToClipboard() можно добавлять данные в других форматах в буфер.

4. Mantis#0000744: Двойное вырезание
   Пришлось в некоторых функциях редактора вместо xwcsncpy/StrLength/etc применить "размеры-переменные".
   Так же:
   1) Edit::SetString - +доп.параметр, размер. по умолчанию равен -1
   2) В EditorUndoData добавлен член Length - для корректной работы отката "после вырезания" :-)
      соответственно Edit::AddUndoData() так же получил доп.параметр.

   Здесь еще копать и копать, но... вроде ничего сейчас не поломалось ;-)

--------------------------------------------------------------------------------
drkns 2009-02-18 20:16:30+02:00 - build 773

1. Mantis#0000741: Ошибка в panel.cpp "if(GetMode()==FILE_PANEL)".

2. Mantis#0000742: Иногда последний сегмент пути в пассивной панели установляется заглавными буквами.

--------------------------------------------------------------------------------
drkns 2009-02-15 22:26:31+02:00 - build 772

1. gcc.

--------------------------------------------------------------------------------
drkns 2009-02-15 19:21:51+02:00 - build 771

1. При копировании (не системном) выделяем место заранее (если хватает).
   Не знаю, сильно ли это ускорит процесс, но фрагментация точно будет меньше.

2. В запускателе используем флаг SEE_MASK_NOZONECHECKS, дабы ОС не спрашивала
   разрешения для запуска файлов, полученных по сети.

3. Криво работали ассоциации, начинающиеся с символа '@'.

4. Ещё всякие косметические мелочи.

--------------------------------------------------------------------------------
drkns 2009-02-12 21:29:15+02:00

1. Mantis#0000712: Неверная строка билда в заголовке справки.
   Заодно убраны некоторые другие отличия vc-проекта от мейкфайла.

--------------------------------------------------------------------------------
drkns 2009-02-12 00:40:52+02:00 - build 770

1. В RemoveToRecycleBin забыли про "\0\0".
   Там же: уточнения в переводе кодов возврата SHFileOperation в winerror-коды.
   Там же: в NT6 и выше игнорируем опцию "Удалять символические ссылки", т.к. эти ОС корректно удаляют их при очистке корзины.

--------------------------------------------------------------------------------
svs 2009-02-11 16:35:57+03:00 - build 769

1. Mantis#0000715: Добавим вызов диалога конфигурации в меню плагинов
   (from samlyukov)
   ...с небольшими моими уточнениями:
     0) никаких биперов и месагов - нет конфиг-диалоге - ничего не делаем.
     1) Alt-Shift-F9 в меню выбора дисков действует независимо от того, стоит ли
        курсор в области внешних моделей или "на дисках"
     2) соответственно обновлены файлы помощи.

     В файле FarEng.hlf.m4 есть русские букофки - поправил бы кто (mantis#702)

2. Mantis#0000711: Ошибка при замене
   Уточнение с выделениями - при замене ставим выделение соответствующего размера.

--------------------------------------------------------------------------------
svs 2009-02-08 18:19:49+03:00 - build 768

1. Mantis#0000547: Выделение найденных фрагментов при поиске
   Корректировка - после выделения найденного нужно перемещать курсор
                   только если не замена, иначе дальше по тексту "Text(TmpStr);"
                   убивает все, что дальше.

2. Mantis#0000711: Ошибка при замене
   Собственно - следствие Mantis#0000547.
   + к этому: выделяем корректно, с локами, и перед очередным выделением снимаем пометку блока.

--------------------------------------------------------------------------------
svs 2009-02-08 17:33:52+03:00 - build 767

1. Mantis#0000716: Один из режимов работает неправильно
   (from DiRTy_GaRRy)

--------------------------------------------------------------------------------
drkns 2009-02-08 11:03:16+02:00 - build 766

1. Реализация DM_LISTGETTITLES.

2. Во врапере не были описаны DM_<G|S>ETEDITPOSITION, DM_<G|S>ETCOMBOBOXEVENT.

--------------------------------------------------------------------------------
drkns 2009-02-07 23:34:36+02:00 - build 765

1. Начинаем учить фар работе с по настоящему длинными именами (это где "\\?\" и "примерно 32000").

2. Корректная работа с файлами/папками, оканчивающимися пробелами.

3. Криво работала FCTL_GETCMDLINE для oem-плагинов.

--------------------------------------------------------------------------------
drkns 2009-02-06 00:40:14+02:00 - build 764

1. В меню с полосой прокрутки неправильно вычислялась правая граница срабатывания мыши.

2. Длинные строки в меню можно прокручивать мышью.

3. Из GetString убран параметр DestLength.

--------------------------------------------------------------------------------
drkns 2009-02-05 19:24:36+02:00 - build 763

1. В справке не работали ссылки вида ~Text~@<Path>@.

--------------------------------------------------------------------------------
drkns 2009-02-04 19:18:48+02:00 - build 762

1. Mantis#0000725: Не всплывает окно поиска при нажатии русских букв

2. Mantis#0000727: heap corruption in CopyToClipboard

--------------------------------------------------------------------------------
drkns 2009-02-03 18:38:38+02:00 - build 761

1. Одно чиним, другое ломаем :) - снова неперерисовка пассивной панели.

--------------------------------------------------------------------------------
drkns 2009-02-01 19:58:28+02:00 - build 760

1. Еще немного на тему отрисовки пассивной панели при закрытии активной полноэкранной.

--------------------------------------------------------------------------------
drkns 2009-01-31 19:40:10+02:00 - build 759

1. OEM-плагины в ProcessEditorInput получали KEY_EVENT_RECORD в "сыром" виде.
   Как результат, вместо русских символов им приходила киргуда.

2. В некоторых случаях не восстанавливались длинные имена, утерянные после выполнения внешних команд.

--------------------------------------------------------------------------------
drkns 2009-01-30 19:39:47+02:00 - build 758

1. Mantis#0000719: Ошибка копирования русского текста в clipboard.

--------------------------------------------------------------------------------
drkns 2009-01-29 21:20:22+02:00 - build 757

1. Не во всех случаях обвобождалась память, выделенная в FileListToPluginItem.

2. Не освобождалась память, выделенная под InfoPanelLine во врапере.

--------------------------------------------------------------------------------
warp 2009-01-28 11:30:00+03:00 - build 756

1. Ну раз уж пошло - добавим еще и FCTL_GETCURRENTITEM, дабы FCTL_GETPANELINFO не дергать ради этого.

--------------------------------------------------------------------------------
yjh 2009-01-28 04:05:24+03:00 - build 755

1. 64хбитовые предупреждения к 753

--------------------------------------------------------------------------------
drkns 2009-01-27 17:47:55+02:00 - build 754

1. Вдогонку к 753: FCTL_GETCMDLINE[SELECTEDTEXT] возвращет требуемый размер буфера с учётом 0.

--------------------------------------------------------------------------------
drkns 2009-01-27 16:09:51+02:00 - build 753

1. Очередной перетрях API.
   FCTL_GETPANELSHORTINFO больше нет. Её функцию выполняет FCTL_GETPANELINFO.
   Из структуры PanelInfo убраны поля PanelItems, SelectedItems, lpwszColumnTypes, lpwszColumnWidths, lpwszCurDir.
   Для получения их значений теперь есть отдельные FCTL-команды: FCTL_GETPANELITEM, FCTL_GETSELECTEDPANELITEM,
   FCTL_GETCOLUMNTYPES, FCTL_GETCOLUMNWIDTHS, FCTL_GETCURRENTDIRECTORY.

   FCTL_FREEPANELINFO тоже больше нет. Фар выделяет только память для полей FCTL_GET[SELECTED]PANELITEM, для их
   освобождения плагин должен использовать команду FCTL_FREEPANELITEM.

   Память для FCTL_GETCOLUMNTYPES, FCTL_GETCOLUMNWIDTHS, FCTL_GETCURRENTDIRECTORY выделяет плагин,
   необходимый размер буфера пожно получить, передав NULL в качестве параметра.

   FCTL_GET[SELECTED]PANELITEM, FCTL_FREEPANELITEM, FCTL_SETSELECTION работают с ОДНИМ элементом.

   Info.Control теперь выглядит как Info.Control(HANDLE hPlugin,int Command,int Param1,LONG_PTR Param2).
   Часть бывших Param переехала в Param1, часть в Param2, будьте бдительны.

   Все плагины, так или иначе использовавшие Control, надо переделать!!!

2. From Tim Sobolev: реализация FarCharTableA.

--------------------------------------------------------------------------------
drkns 2009-01-25 19:37:00+02:00 - build 752

1. При закрытии полноэкранной плагиновой панели не обновлялась пассивная панель.

2. Не обновлялась панель после FCTL_CLOSEPLUGIN.

--------------------------------------------------------------------------------
drkns 2009-01-24 22:01:13+02:00 - build 751

1. Криво отображался символ пометки в панелях.

--------------------------------------------------------------------------------
drkns 2009-01-24 15:39:50+02:00 - build 750

1. В копире вылезли очередные баги.

2. В меню выбора кодовой сраницы (ShiftF8) не обрабатывался Ins на цифровой клавиатуре.

--------------------------------------------------------------------------------
svs 2009-01-23 19:26:56+03:00 - build 749

1. Macro: Editor.Sel()
   - new -> Editor.Sel(0,4) - вернет тип блока (0 - нету, 1 - stream, 2 - column)
   - исправлены прыжки (в т.ч с column, которые по сути не пахали)
   - некорректно работали установки... без учета табов
   - некорректно работали инфо-функции - без учета табов
   - new -> Editor.Sel(4) - Unmark selected block, вернет всегда 1
   - если ширина блока = 0 (от сюда == до сюда), то это равносильно Editor.Sel(4)

   Фича есть одна с применением Editor.Sel():
     1. Editor.Sel(2, 0) - помечаем начало stream блока
     2. что-то делали, и даже блоки выделяли...
     3. Editor.Sel(2, 1) - помечаем конец - предыдущие выделения снимаются и помечается новый
        блок от (1) до "сюда"

2. Macro: парсер - символ ';' сразу после закрывающейся скобки функции игнорируется

3. Попутно в АПИ для ECTL_SELECT была несуразица:
   - отметка блока исчезает всегда, сейчас, если что-то не так с параметрами, блок остается на месте
   - отметка блока исчезает всегда, даже если такой строки не находили (BlockStartLine)
   - если BlockHeight был больше чем текста (например, пытаемся выделить блок, указывая последнюю строку,
     а BlockHeight=, например, 10), то EditorControl возвращал FALSE, хотя блок успешно выделялся.
   - Читаем "BlockWidth - Ширина блока. Может быть отрицательной величиной." - но получалось,
     что при BTYPE_COLUMN и BlockWidth=-1 "транзакция" пометки блока неполная, что может приводить к
     непоняткам с блоками.

   Что-то не могу припомнить для чего нужна была проверка "if(BlockWidth==-1)", в любом случае получалась
   не полная транзакция.

4. Поддержка MCODE_F_EDITOR_SEL во всем, что движется... (редактируется)

5. Добавлено (для единообразия) Ctrl-U (снять выделение с блока) в ком.строке (работает при погашенных обоих панелях).

--------------------------------------------------------------------------------
drkns 2009-01-22 15:03:21+02:00 - build 748

1. В FormatMessage не передавался флаг FORMAT_MESSAGE_IGNORE_INSERTS.
   Как следствие, функция обламывалась на строках с %1, %2 и т.п. (например, в сообщениях об "ошибке запуска").
   Сейчас эти %x никак дополнительно не обрабатываются, что, конечно, не фонтан, но всяко лучше, чем совсем ничего.

--------------------------------------------------------------------------------
drkns 2009-01-22 12:47:21+02:00 - build 747

1. Mantis#0000709:Ansi и Unicode версии в одной dll?
   Заодно починил оптимизацию проверки экспортов по crc32.

--------------------------------------------------------------------------------
svs 2009-01-22 12:16:13+03:00 - build 746

1. Macro: Editor.Sel([1|0],[0|1]) работают некорректно:
   - не учетены табы,
   - при "прыжке" в конец блока позиция ставится на слудующую строку.

--------------------------------------------------------------------------------
t-rex 2009-01-22 08:51:22+02:00 - build 745

1. From Alexey Pakhunov: Mantis#708: Чтение за пределы буфера в FilePositionCache::Save

2. Заодно сделал там пару вещей "покрасивей".

--------------------------------------------------------------------------------
drkns 2009-01-21 00:19:40+02:00 - build 744

1. Если развернутый комбобокс или история ввода не влезает целиком на экран,
   и при этом над ним места больше, чем под ним - откроем его "вверх".

2. При изменении размеров консоли комбобоксы и истории рисуются как положено, а не чёрт знает где.

3. Не уродуются диалоги, не влезающие в консоль.

--------------------------------------------------------------------------------
drkns 2009-01-19 20:44:36+02:00 - build 743

1. В перемещении диалога кнопками End/PgDn был баг, но проявился он только после предыдущего билда.

2. Mantis#0000704: глюки при передаче управления в плагин
   Mantis#0000705: Проблемы с farcmds.dll

--------------------------------------------------------------------------------
drkns 2009-01-19 16:59:41+02:00 - build 742

1. Нежно, плавно и осторожно попробуем разрешить таскать диалоги за пределы экрана.
   Вроде бы всё работает, но мало ли, могло где-то аукнуться.
   Просьба незамедлительно докладывать в штаб о любом неадекватном поведении.

--------------------------------------------------------------------------------
drkns 2009-01-17 21:28:37+02:00 - build 741

1. Mantis#0000703: При попытке переместить папку возникает ошибка "Access Denied".

--------------------------------------------------------------------------------
drkns 2009-01-17 17:05:36+02:00 - build 740

1. Снова копирайт: по "Far /?" выводился мусор.

2. В copyright.inc вместо символов генерируются их hex-коды.

--------------------------------------------------------------------------------
drkns 2009-01-16 22:02:38+02:00 - build 739

1. Если нет ни одного плагина, экспортирующего SetFindList[W],
   то и кнопку [ Panel ] в диалоге результов поиска показывать не будем.

2. Косметика: замена sizeof/sizeof на countof везде, где ещё оставалось.

--------------------------------------------------------------------------------
svs 2009-01-16 19:07:22+03:00 - build 738

1. Уточнение для Editor.Sel
   Начало и конец блока может быть в любом месте (например, начало - ниже, конец - выше).
   Блок всегда выделиться правильно.

--------------------------------------------------------------------------------
svs 2009-01-16 16:35:23+03:00 - build 737

0. с предущим патчем напортачил - не вовремя удалил буфер.

1. Macro: функция waitkey имеет второй необязательный параметр - тип возвращаемого значения:
   0 - вернуть строковое название клавиши, 1 - числовое название клавиши

     V=waitkey([N,[T]])

2. Macro: добавлена функция Editor.Sel

    V=Editor.Sel(Action[,Opt])

   позволяет манипулировать выделениями в тексте

      Action: 0 = Get Pos
                  Opt:  0 = return FirstLine
                        1 = return FirstPos
                        2 = return LastLine
                        3 = return LastPos
                  return: 0 = failure, 1... request value

              1 = Set Pos
                  Opt:  0 = begin block (FirstLine & FirstPos)
                        1 = end block (LastLine & LastPos)
                  return: 0 = failure, 1 = success

              2 = Set Stream Selection Edge
                  Opt:  0 = selection start
                        1 = selection finish
                  return: 0 = failure, 1 = success

              3 = Set Column Selection Edge
                  Opt:  0 = selection start
                        1 = selection finish
                  return: 0 = failure, 1 = success

   Например, повторим некоторые сочетания клавиш из Turbo-сред (повесим макрос на сочетание Ctrl-K):

   %k=waitkey(0,1);
   $if(%k==B || %k==b || %k==CtrlB)
     editor.sel(2,0)
   $else
     $if(%k==K || %k==k || %k==CtrlK)
       editor.sel(2,1)
     $else
       $if((%k==C || %k==c || %k==CtrlC) && Selected)
         CtrlC
       $else
         $if((%k==Y || %k==y || %k==CtrlY) && Selected)
           CtrlD
         $else
           eval("F1")
         $end
       $end
     $end
   $end

3. Уточнение в WaitKey() - "пропускаем только любые настоящие клавиши" (код < KEY_END_FKEY)

4. добавлена функция "s=key(v)" - преобразует значение v в строковый эквивалент названия клавиши.
   если v строка, то проверяется правильность написания клавиши и она же возвращается
   если v число, то происходит попытка преобразовать в текст
   в случае ошибок - возвращается пустая строка.

5. Macro: теперь именованные клавиши могут участвовать в любых вычислениях.
   Например,
     %k=waitkey(0,1); $if(%k == CtrlB)...
   или
     %k=CtrlK; ..... %k=%k+Alt; eval(key(%k))

--------------------------------------------------------------------------------
svs 2009-01-16 13:55:26+03:00 - build 736

1. Ситуация была - в copyright.inc количество символов превышало 256, заявленных для Str в ControlObject::ShowCopyright().
   Естественно ФАР успешно компилился, но не запускался, молча трапался.
   Можно было бы применить xstrncpy, но вдруг в copyright.inc.m4 что-то еще допишется,
   так что пусть строка выделяется динамически.

--------------------------------------------------------------------------------
drkns 2009-01-15 07:02:47+02:00 - build 735

1. Пара мелочей.

--------------------------------------------------------------------------------
drkns 2009-01-15 00:44:47+02:00 - build 734

1. В диалоге установки атрибутов для файла, имеющего несколько жёстких ссылок,
   вместо одного имени отображается список всех его имён.
   Работает в Vista и выше.

--------------------------------------------------------------------------------
t-rex 2009-01-14 22:00:55+02:00 - build 733

1. Добавляем битность сборки в инфу о версии.

2. Убрал за не надобностью BUILDTESTONLY и BUILDTYPENUM.

--------------------------------------------------------------------------------
drkns 2009-01-12 17:38:59+02:00 - build 732

1. Кто-то снова сломал Mantis#0000605.
   Скобки вокруг VMenu ChDisk() в panel.cpp и вокруг других аналогичных мест - НАДО!!!
   От них там польза, они дырку на обоях загора... бррр, они область видимости ограничивают,
   чтобы эти меню вовремя удалялись и не маячили на экране.

2. Уберём из локальных настроек редактора/вьювера чекбоксы выбора умолчальной кодировки.

--------------------------------------------------------------------------------
svs 2009-01-12 15:13:56+03:00 - build 731

1. Не работает в FAR 2.0 alpha 1 (build 729) опция автоматически монтировать CDROM.

--------------------------------------------------------------------------------
yjh 2009-01-12 03:44:27+03:00 - build 730

1. Добавим опцию в makefile_vc для возможности генерации release с
   включенным кодом для теста exception (отладки excdump :).

--------------------------------------------------------------------------------
t-rex 2009-01-11 23:00:45+02:00 - build 729

1. Продолжение Mantis#697, GetShellType должен вернуть false если найденный тип это пустая строка.

--------------------------------------------------------------------------------
t-rex 2009-01-11 21:56:05+02:00 - build 728

1. Mantis#693 и Mantis#697 - проблемы в запускаторе виндовых типов из за неправильной работы с реестром.

--------------------------------------------------------------------------------
drkns 2009-01-11 19:52:42+02:00 - build 727

1. Баги в url-запускателе + в висте запускалось не то, что надо.

--------------------------------------------------------------------------------
drkns 2009-01-11 16:08:39+02:00 - build 726

1. Вроде бы заработало автозавершение в строках ввода диалогов.

--------------------------------------------------------------------------------
drkns 2009-01-11 09:12:18+02:00 - build 725

1. From Maximus5: Cannot update file descriptions.

--------------------------------------------------------------------------------
drkns 2009-01-10 18:32:35+02:00 - build 724

1. И снова продолжение 720.

--------------------------------------------------------------------------------
drkns 2009-01-10 16:40:25+02:00 - build 723

1. В меню ассоциаций не отображалась колонка с описаниями.

--------------------------------------------------------------------------------
drkns 2009-01-10 16:16:50+02:00 - build 722

1. Продолжение 720.

--------------------------------------------------------------------------------
drkns 2009-01-10 14:53:38+02:00 - build 721

1. При выводе сообщения об ошибке загрузки плагина брался "плагиновый" экземпляр Language вместо "фаровского".

--------------------------------------------------------------------------------
drkns 2009-01-10 12:53:27+02:00 - build 720

1. Во враппере криво освобождался FarList;

2. Xlat в редакторе;

3. Edit::GetStringAddrW -> Edit::GetStringAddr.

--------------------------------------------------------------------------------
drkns 2009-01-08 09:47:23+02:00

1. Секция <dependency> в манифесте.

--------------------------------------------------------------------------------
drkns 2009-01-06 11:34:50+02:00 - build 719

1. Не работали макроконстанты.

--------------------------------------------------------------------------------
t-rex 2009-01-05 18:05:34+02:00 - build 718

1. Символы "=;," тоже требуют две пары кавычек при запуске через cmd.

--------------------------------------------------------------------------------
drkns 2009-01-04 15:37:36+02:00

1. Мелочи в vc-проекте и мейках.

--------------------------------------------------------------------------------
zg 2009-01-04 15:17:03+02:00 - build 717

1. mantis#695.

--------------------------------------------------------------------------------
t-rex 2009-01-04 00:32:09+02:00 - build 716

1. Первые шаги поддержки UTF во вьювере, с горем пополам но как то пашет.

--------------------------------------------------------------------------------
drkns 2009-01-03 16:18:04+02:00 - build 715

1. Поддержка клавиши PrintScreen :) + в панелях некорректно обрабатывались AltEnter и AltTab.

2. Отключено создание PCH для *.с, ибо этих *.с осталось "один штука".

--------------------------------------------------------------------------------
drkns 2009-01-02 10:30:25+02:00 - build 714

1. Xlat.Table и Xlat.Rules теперь string и в реестре хранятся как REG_SZ.

2. Исправил пару BUGBUG в копире.

3. Из iswind.cpp удалены остатки былой роскоши - FindFarWndByTitle, IsWindowedEnumProc, IsWindowedEnumProc2.

4. Пара вещей из Mantis#657.

--------------------------------------------------------------------------------
zg 2009-01-02 02:44:04+02:00 - build 713

1. CAS в диалоге назначения макроклавиши.

--------------------------------------------------------------------------------
drkns 2008-12-29 18:38:33+02:00 - build 712

1. Продолжение Mantis#0000674.

2. Откатим 709 - не всё так просто.

--------------------------------------------------------------------------------
t-rex 2008-12-29 12:45:32+02:00 - build 711

1. FarCharTableA эмулирует как можно ближе к 1.7x.

2. Xlat и XlatA "работают". Я не знаю что и как они должны делать, кто умеет этим делом пользоватся потестируйте.

--------------------------------------------------------------------------------
t-rex 2008-12-28 22:46:27+02:00 - build 710

1. Mantis#689: Crash in the viewer.

--------------------------------------------------------------------------------
drkns 2008-12-29 22:33:47+02:00 - build 709

1. Если запрашивалось ACTL_GETSHORTWINDOWINFO для текущего окна, и это окно - vmenu, то текущим считалось предыдущее окно.

--------------------------------------------------------------------------------
t-rex 2008-12-28 20:21:07+02:00 - build 708

1. Теперь все функции API доступны и работают (кроме Xlat который пока в виде заглушки).

--------------------------------------------------------------------------------
drkns 2008-12-28 17:56:33+02:00 - build 707

1. Mantis#0000688: View Command Log does not show first characters

--------------------------------------------------------------------------------
t-rex 2008-12-28 17:33:01+02:00 - build 706

1. StandardFunctions.ConvertNameToReal заработал.

2. Фильтры не работали при move на одном и том же диске (тестовый фикс).

3. Продолжаем колбасить всё подряд.

--------------------------------------------------------------------------------
drkns 2008-12-28 11:09:34+02:00

1. Из проекта убраны удалённые в 703 файлы.

2. Косметика в far.rc.

--------------------------------------------------------------------------------
t-rex 2008-12-27 23:59:35+02:00 - build 705

1. Убрал все эти UnicodeToAnsi и т.п., теперь они есть только во враппере где им и место.

2. Баг в ProcessNameA.

3. macro.cpp::dlggetvalueFunc(), обработка 10 параметра. Надо посмотреть ещё раз, вроде для Edit надо подругому.

4. Lnaguage - теперь не держит Unicode и OEM строки паралельно, а только те которые надо.

5. Ещё пару мелочей по дороге.

--------------------------------------------------------------------------------
t-rex 2008-12-27 18:30:29+02:00 - build 704

1. Продолжаем колбасить.

--------------------------------------------------------------------------------
t-rex 2008-12-27 16:37:31+02:00 - build 703

1. Продолжаем колбасить fn.hpp, а вдобавку и farconst.hpp struct.hpp global.hpp.

--------------------------------------------------------------------------------
drkns 2008-12-27 13:44:08+02:00 - build 702

1. Забыл добавить сами *.hpp :)

--------------------------------------------------------------------------------
drkns 2008-12-27 13:26:29+02:00 - build 701

1. Из fn.hpp некоторые тематические куски (winapi, registry, syslog) вынесены в отдельные hpp.

2. Удалены FAR_OemToChar[Buff] и FAR_CharToOem[Buff].

3. Последний параметр apiCreateFile - HANDLE hTemplateFile - сделан опциональным, ибо всё равно нигде ни разу не используется.

--------------------------------------------------------------------------------
drkns 2008-12-27 01:08:58+02:00 - build 700

1. При определённых условиях криво работал запуск lnk-файлов.

2. + apiRegEnumKeyEx().

--------------------------------------------------------------------------------
drkns 2008-12-26 20:47:04+02:00 - build 699

1. Из враппера искоренён флаг MB_USEGLYPHCHARS, теперь "непечатные" символы подменяются уникодными только на этапе отрисовки.

--------------------------------------------------------------------------------
t-rex 2008-12-26 19:49:57+02:00 - build 698

1. Используем SHCreateAssociationRegistration, теперь не надо CoInitialize, так спокойней на душе.

2. AssociationRegistration работает теперь и в GCC.

--------------------------------------------------------------------------------
svs 2008-12-26 19:19:43+03:00 - build 697

1. Mantis#0000685: Is Not removed window "to Search for" under "Searching for and change" in editor

2. Избавляемся от варнинга в gettable.cpp

--------------------------------------------------------------------------------
t-rex 2008-12-26 14:42:38+02:00 - build 696

1. Забыл удалить FMENU_TRUC* из plugin.hpp.

--------------------------------------------------------------------------------
t-rex 2008-12-26 14:27:31+02:00 - build 695

1. Mantis#677: Некорректный горизонтальный скрол в меню.

2. Удалил VMENU_TRUNCMODE и с ним связанное, оно не используется.

3. Продолжение 693 и Mantis#679: option "use windows registered types" doesn't work.
   Забыл в qview это дело, сделал централизованным.

--------------------------------------------------------------------------------
warp 2008-12-26 00:05:49+03:00 - build 694

1. Неправильная работа UnicodeToAnsiBin с пустыми строками, которая мешала работать во враппере Colorer 4.

--------------------------------------------------------------------------------
t-rex 2008-12-26 00:02:06+02:00 - build 693

1. В Висте придумали новую заморочу с ассоциациями файлов, теперь и мы её умеем.
   В gcc пока что это закоменчено ибо надо ручками хидеры дописать.

--------------------------------------------------------------------------------
zg 2008-12-25 21:11:58+02:00 - build 692

1. запрет на посылку DN_EDITCHANGE элементу диалога если этот элемент уже обрабатывает DN_EDITCHANGE.

2. Корректировка функции WaitKey(). Теперь функция реагирует только на "настоящие" клавиши
   (ранее функция срабатывала, например, на потерю-получение фокуса окном ФАРа (KEY_KILLFOCUS/KEY_GOTFOCUS)

3. из SysLog удалены не используемые константы ECTL_EDITORTOOEM и ECTL_OEMTOEDITOR

--------------------------------------------------------------------------------
t-rex 2008-12-25 20:18:15+02:00 - build 691

1. FARINT64 остался ещё в syntax.cpp::printKeyValue.

--------------------------------------------------------------------------------
zg 2008-12-25 16:37:39+02:00 - build 690

1. исправлен потенциальный ub в обработчике DN_EDITCHANGE.

2. варнинги в vc9.

--------------------------------------------------------------------------------
zg 2008-12-25 04:19:29+02:00 - build 689

1. теперь DN_EDITCHANGE приходит при любых изменениях в строке редактирования
   за исключеним изменений, производимых в обработчике DN_INITDIALOG.

--------------------------------------------------------------------------------
svs 2008-12-24 13:40:38+03:00 - build 688

1. Mantis#0000680: $SelWord sets Selected flag on, even though no selection was made

--------------------------------------------------------------------------------
zg 2008-12-23 04:27:09+02:00 - build 687

1. в макросах в $Text \x теперь понимает до 4 16-ричных цифр, что позволяет ввести любой unicode символ.

2. в FindFiles::GetPluginFile освобождалось не то что выделялось.

--------------------------------------------------------------------------------
t-rex 2008-12-22 20:40:17+02:00 - build 686

В будущем для nightly будет автоматом показываться релевантный кусок changelog,
чтоб это работало пожалуйста всегда пишете "build XXX" - т.е. слово build пробел (только одни)
и номер где то в первой строке записи (ну в общем как мы и всегда делаем).
А также nightly обновляется только если сменился номер билда, имейте ввиду.

1. Разделил farversion.m4 на два файла для удобств nightly сборок.

2. Забытые переменные в hook_wow.

--------------------------------------------------------------------------------
zg 2008-12-22 17:34:32+02:00 - build 685

1. исправлено падение при открытии файла из результатов поиска на плагиновой панели,
   если имя файла или короткое имя файла были NULL.

--------------------------------------------------------------------------------
zg 2008-12-22 00:27:46+02:00 - build 684

1. FreeFindData вызывался при старой позиции курсора. при определённых обстоятельствах far падал.

--------------------------------------------------------------------------------
zg 2008-12-21 22:34:23+02:00 - build 683

1. убраны дубли GetHiColor и GetGroup использовавшиееся для работы на плагиновых панелях.
   как следствие фар не падает, если плагин передал ему NULL в качестве имени файла.
   так же для плагиновой панели GetHiColor вызывается один раз.

2. CmpName проверяет маску и имя файла на NULL.

3. в InfoPanelLine масивы заменены на указатели. плагины, использующие это надо пересобрать.

--------------------------------------------------------------------------------
drkns 2008-12-21 22:01:17+02:00 - build 682

1. Читалка farmenu.ini понимает старые OEM-файлы от 1.7.
   Следует осознавать, что при редактировании такого меню оно сохранится уже в уникоде, и из 1.7 доступно не будет.

2. Надписи на F8 в редакторе/вьювере теперь не DOS/Win, а OEM/ANSI, для соответствия с Shift<F2|F4|F8>.

--------------------------------------------------------------------------------
t-rex 2008-12-21 20:29:45+02:00 - build 681

1. Не работали KeyBarLabels.

--------------------------------------------------------------------------------
t-rex 2008-12-21 13:50:11+02:00 - build 680

1. hook_wow64: Выявили что если сделать PAGE_EXECUTE_READWRITE вместо PAGE_READWRITE
   для VirtualProtect то работает нормально и с DEP под Вистой.
   Не знаю на сколько это безопасно, ждём коментариев от Юры.

--------------------------------------------------------------------------------
t-rex 2008-12-21 12:13:02+02:00 - build 679

1. hook_wow: В Vista SP1 или 2008 попытаемя вырубить DEP для процесса и если не можем то не будем патчить.
   Временое решение пока не разберёмся чего там DEP'у крышу сносит.

--------------------------------------------------------------------------------
t-rex 2008-12-21 03:23:37+02:00 - build 678

1. Глюк с пометкой в меню кодировок во вьювере.

2. Не детектились юникод файлы с сигнатурой во вьювере. Надо будет сделать как в редакторе примерно.

--------------------------------------------------------------------------------
t-rex 2008-12-21 02:09:48+02:00 - build 677

ВСЕ ЮНИКОДНЫЕ ПЛАГИНЫ ТРЕБУЕТСЯ ПЕРЕСОБРАТЬ (И ПОДПРАВИТЬ ГДЕ НАДО) - ДАЖЕ НЕ ПЫТАЙТЕСЬ ЗАПУСТИТЬ СО СТАРЫМИ!!!!!!!!!!

1. Выбор кодировок во вьювере по примеру редактора, начальная стадия.

2. GlobalSearchString - теперь юникодный и string.

3. Убрал кучу говна в виде CharTables из 1.7x и с этим связаное.

4. Убрал ECTL_EDITORTOOEM, ECTL_OEMTOEDITOR ибо в них нет смысла.

5. CodePage в EditorInfo, ViewerInfo и т.п.

6. CodePage в вызов Info.Viewer и Info.Editor - пока что нечего не делает, но потом будет.
   Пока что туда надо ставить CP_AUTODETECT чтоб в будущем работало нормально.

7. Начинаем учить FindFile о CodePage. Пока что поиск в WIN кодировке не работает!

8. Заготовки для XLat.

9. Убрал FARINT64 за ненадобностью.

10. CalcWordFromString теперь работает.

--------------------------------------------------------------------------------
drkns 2008-12-20 23:18:27+02:00 - build 676

1. В редакторе в списке кодовых страниц доступна UTF-8.
   Для файла, изначально открытого в UTF-8, больше не блокируются попытки смены кодовой страницы.
   При смене кодировки проверяется корректность преобразования.

--------------------------------------------------------------------------------
t-rex 2008-12-20 18:58:50+02:00 - build 675

1. Ещё Mantis#657, поменял alloca на xf_malloc.

2. Убрал немного мусора по дороге.

--------------------------------------------------------------------------------
t-rex 2008-12-20 15:46:47+02:00 - build 674

1. hook_wow64: Не было настоящей проверки если мы работаем под WOW64,
   что в Vista/2008 приводило к попыткам хука заработать на x86 платформе
   и соот. падать при определённых ситуациях.

--------------------------------------------------------------------------------
t-rex 2008-12-20 12:41:46+02:00 - build 673

1. Mantis#450: Bug in History::Select().
   Меню истории показывало на один пункт меньше чем надо.

--------------------------------------------------------------------------------
t-rex 2008-12-19 21:22:09+02:00 - build 672

1. "Почистил" немного history.cpp. Частично Mantis#657.

2. FarGetPluginDirListA

3. From Denis Kosy: Неправильная работа с реестром в qview.

--------------------------------------------------------------------------------
drkns 2008-12-19 20:10:53+02:00 - build 671

1. Mantis#0000674: Some errors: Missing L, incorrect types

--------------------------------------------------------------------------------
t-rex 2008-12-19 18:25:23+02:00 - build 670

1. Mantis#675: Crash while showing the command history.
   Проблема с длинными пунктами меню.

--------------------------------------------------------------------------------
t-rex 2008-12-19 13:39:31+02:00 - build 669

1. Mantis#673: Crash in Viewer::SelectText().
   Проблемы с InfoPanel.

--------------------------------------------------------------------------------
t-rex 2008-12-19 09:36:40+02:00 - build 668

1. Mantis#668: Far ожидает закрытия запущенного приложения.

--------------------------------------------------------------------------------
drkns 2008-12-19 09:21:34+02:00 - build 667

1. Mantis#0000672: Invalid values in the Information panel

--------------------------------------------------------------------------------
t-rex 2008-12-19 01:41:01+02:00 - build 666 :) мой

1. Ноль ворнингов (GCC 4.3.2 и VC9).

--------------------------------------------------------------------------------
t-rex 2008-12-19 00:52:30+02:00 - build 665

1. From Igor O. Bochkariov: Mantis#670: Округление размеров дисков и файлов.

2. FarGetDirListA и FarFreeDirListA.

3. Утечка памяти в FarGetDirList.

--------------------------------------------------------------------------------
svs 2008-12-18 23:43:54+03:00 - build 664

1. Mantis#0000659: негативное число в "remaining time" в подсчёте total
   Как то не все хорошо в копире по поводу фильтров. Даже если файл не прошел
   фильтр (ShellCopyOneFile вернет COPY_NEXT), переменная TotalCopiedSize все
   равно увеличивается.
   Добавим новое состояние COPY_NOFILTER - не считать цифры, если ShellCopyOneFile вернул ЭТО

   Осталься непонятным один момент.

      if (CopyCode!=COPY_SUCCESS)
      {
        unsigned __int64 CurSize = SrcData.nFileSize;
        if (CopyCode != COPY_NOFILTER) //????
   >>     TotalCopiedSize = TotalCopiedSize - CurCopiedSize + CurSize;
        if (CopyCode == COPY_NEXT)
          TotalSkippedSize = TotalSkippedSize + CurSize - CurCopiedSize;

   нужно ли считать отмеченное всегда или все же нужно, когда кодвозврата COPY_NEXT.

--------------------------------------------------------------------------------
drkns 2008-12-18 16:16:46+02:00 - build 663

1. [x] Use system copy routine
   [ ] Show uppercase file names in lowercase
   [x] Del removes blocks

--------------------------------------------------------------------------------
drkns 2008-12-18 12:57:24+02:00 - build 662

1. Win2k узаконена в качестве "минимального системного требования" (уже давно им являясь на деле).

--------------------------------------------------------------------------------
t-rex 2008-12-18 12:26:49+02:00 - build 661

1. Более коректная имплементация FCTL_GET*PANELSHORTINFO для враппера, из за различий в новом и старом API.

2. Mantis#669: getInt64() function.
   Каст на (char) вместо на (wchar_t).

--------------------------------------------------------------------------------
t-rex 2008-12-17 22:17:58+02:00 - build 660

1. Mantis#667: уникодный фар криво выставляет заголовок панели для ансишного мульти-арка.
   В общем 2 бага во враппере:
   - Не было предохранения от рекурсии при вызове GET*PANELINFO из GetOpenPluginInfo.
   - Имплементация обработки GET*PANELSHORTINFO была неправильной.

--------------------------------------------------------------------------------
drkns 2008-12-17 12:12:45+02:00 - build 659

1. Убраны "магические числа" в расчёте длины выводимой строки в qview и setattr.

--------------------------------------------------------------------------------
t-rex 2008-12-17 11:47:17+02:00 - build 658

1. Mantis#664: Crash while using Quck View on Volume Mount Point.

2. Заодно сделал похожие места в коде красивей, без этого offset.

--------------------------------------------------------------------------------
svs 2008-12-16 23:42:36+03:00 - build 657

1. Panel API: Флаг PFLAGS_PANELRIGHT удален, т.к. вместе с PFLAGS_PANELLEFT...
   ...получалось взаимоисключение.
   Для проверки "панели справа" использовать отсутствие флага PFLAGS_PANELLEFT.

--------------------------------------------------------------------------------
drkns 2008-12-16 21:11:41+02:00 - build 656

1. FarGetDirList возвращал имена без относительных путей.
   Как следствие - Mantis#0000663: не работает опция Copy folder contents.

--------------------------------------------------------------------------------
drkns 2008-12-15 21:17:28+02:00 - build 655

1. Mantis#0000660: Добавить возможность задания «любимых» таблиц перекодировки.
   Пока что только для ShiftF8 в редакторе.

--------------------------------------------------------------------------------
svs 2008-12-15 15:30:25+03:00 - build 654

1. Ещё несколько вещей из Mantis#657, различные "мелочи".
   (наверное нужно было бы для этой фразы поставить копирайт ;-))

--------------------------------------------------------------------------------
t-rex 2008-12-15 10:57:07+02:00 - build 653

1. Ещё несколько вещей из Mantis#657, различные "мелочи".

--------------------------------------------------------------------------------
t-rex 2008-12-14 23:19:19+02:00 - build 652

1. Пропустил ещё одно место где не проверялось значение возвращаемое GlobalLock в работе с клипбордом.

--------------------------------------------------------------------------------
t-rex 2008-12-14 23:01:37+02:00 - build 651

Ещё несколько вещей из Mantis#657

1. Передавался sizeof вместо countof массива wchar_t в некоторых местах для WinAPI/CRT функций.

2. Не проверялось значение возвращаемое GlobalLock в работе с клипбордом.

3. Неправильна format строка для swprintf в DizList::GetDizTextAddr.

--------------------------------------------------------------------------------
t-rex 2008-12-14 12:50:25+02:00 - build 650

Несколько вещей из Mantis#657

1. В ProcessName была полнейшая мутотень с проверками флагов, ибо там половина флаги а половина по приколу.
   Тоже самое и во враппере.

2. Неправильное освобождение памяти после CreateProcess в паре мест.

3. Неправильная проверка на NULL в CheckFolder.

4. Panel::ChangeDiskMenu, слишком много переменных с одинаковым именем. Переименовал ту у которой scope шире.

5. В syslog юзался %S вместо %s для wprintf для юникодных строк.

6. Неправильные проверки BSTATE во враппере.

7. Несколько месте где sizeof не использовался как надо.

8. Несколько проверок на неудачный запуск функций.

9. RegQueryStringValue, неправильная проверка на REG_SZ.

--------------------------------------------------------------------------------
t-rex 2008-12-13 20:09:18+02:00 - build 649

1. FileFilter API

   FileFilterControl(HANDLE hHandle, int Command, int Param1, LONG_PTR Param2)

   Command:

   FFCTL_CREATEFILEFILTER - hHandle - PANEL_ACTIVE или PANEL_PASSIVE
                            Param1 - один из FAR_FILE_FILTER_TYPE
                                     Созданный фильтр получит настройки той
                                     области которая задана в Param1.
                                     Настройки области глобальны и всегда идентичны
                                     в любом фильтре этой области (настройки правой
                                     и левой панели это две разные области).
                                     Авто фильтры (и настройки панельной области)
                                     зависят от hHandle.
                            Param2 - HANDLE* в который запишется HANDLE фильтра

                            При неудаче вернёт FALSE и Param2=INVALID_HANDLE_VALUE.

   FFCTL_FREEFILEFILTER   - hHandle - HANDLE который вернул FFCTL_CREATEFILEFILTER

   FFCTL_OPENFILTERSMENU  - hHandle - HANDLE который вернул FFCTL_CREATEFILEFILTER

                            Откроет меню фильтра для заданной области.
                            Если меню отменено пользователем то вернёт FALSE.

   FFCTL_STARTINGTOFILTER - hHandle - HANDLE который вернул FFCTL_CREATEFILEFILTER

                            Это вызов надо сделать до начала "атомической" операции фильтрования
                            чтобы фильтры с относительной датой правильно работали.
                            Этот вызов обновляет "текущее время" которое используется для сравнения
                            относительных дат.

   FFCTL_ISFILEINFILTER   - hHandle - HANDLE который вернул FFCTL_CREATEFILEFILTER
                            Param2 - (const FAR_FIND_DATA *) который нужно проверить на включение в фильтр.

                            Вернёт TRUE если файл попадает под фильтр (т.е. включен), или FALSE если исключен.

--------------------------------------------------------------------------------
t-rex 2008-12-13 16:00:35+02:00 - build 648

1. Убрал Load/UnloadPlugin, теперь на будущее есть
   PluginsControl(HANDLE hHandle, int Command, int Param1, LONG_PTR Param2)

   LoadPlugin теперь так
   PluginsControl(INVALID_HANDLE_VALUE,PCTL_LOADPLUGIN,PLT_PATH,(LONG_PTR)L"path to dll");

   UnloadPlugin теперь так
   PluginsControl(INVALID_HANDLE_VALUE,PCTL_UNLOADPLUGIN,PLT_PATH,(LONG_PTR)L"path to dll");

2. Заготовка API для FileFilter.

3. Убрал проверку на размер PluginPanelItem из plugin.hpp, она больше не нужна и была не правильная.

--------------------------------------------------------------------------------
drkns 2008-12-13 13:31:49+02:00

1. Версия 2.0 в проекте.

--------------------------------------------------------------------------------
t-rex 2008-12-13 13:22:22+02:00 - build 647

1. Версия Фара теперь 2.0

2. Ветка в реестре теперь Far2.

3. Подготовка FileFilter к вызовам через PluginAPI.

--------------------------------------------------------------------------------
t-rex 2008-12-12 17:59:54+02:00 - build 646

From Shmuel Zeigerman

1. При указании в BreakKeys более одного из модификаторов
   (ctrl, alt, shift), для закрытия меню было достаточно нажатия
   любого одного из указанных, например: указано AltShiftF9,
   а закрывается и по AltF9, и по ShiftF9.

--------------------------------------------------------------------------------
t-rex 2008-12-10 17:03:51+02:00 - build 645

1. Фикс GCC сборки hook_wow64.

--------------------------------------------------------------------------------
t-rex 2008-12-10 11:09:44+02:00 - build 644

1. Вернул привычное поведение re.
   Т.е. теперь в масках re работают как везде/всегда, регистро-зависимые и надо //i чтоб наоборот.

2. Освободим память в объекте re для масок если обработанна большая строка, чтоб не накапливалось.

--------------------------------------------------------------------------------
t-rex 2008-12-10 08:57:45+02:00 - build 643

1. Исправление от Юры: hook_wow64 не работал в Висте и 2008.
   В принципе, намного проще было сделать без таких извращений (просто заведя
   переменную), но мне не нравится идея когда поведение _системной_ dll, завист
   от "удара по памяти" внутри программы. В том смысле, что если где-то кто-то
   писанул бы в эту переменную, последствия бы были... мягко скажем неприятные.
   Полный, в общем, аналог того что со вторым блоком (предпочитаю патчить).
   Можно было бы сделать и одним патчем, а не двумя (это уже из области паранои :)
   я просто сделал цепочку в которой "отказ" на любом этапе практически
   безопасен. А если патчить в одном месте так бы не получилось.

--------------------------------------------------------------------------------
drkns 2008-12-10 00:33:43+02:00 - build 642

1. Опытным путем (в MSDN об этом ни слова :) установлено, что при вызове SearchPathW(NULL,...)
   источник и приемник не должны пересекаться, иначе будет UB.
   Как следствие - при определённых условиях криво работал запускатель.

--------------------------------------------------------------------------------
zg 2008-12-09 17:56:32+02:00 - build 641

1. в DialogRun/DialogFree проверяется hDlg на равенство INVALID_HANDLE_VALUE.

--------------------------------------------------------------------------------
t-rex 2008-12-09 13:05:43+02:00 - build 640

1. В re для масок, сделал Search в место Match, так логичней и привычней.

2. re для масок теперь по умолчанию регистро-НЕзависимые, если вдруг надо зависимые то
   ввёл новый параметр /regexp/c

3. Сделал классы масок "покрасивей".

--------------------------------------------------------------------------------
t-rex 2008-12-09 03:08:31+02:00 - build 639

1. Мелкие изменения в использовании RegExp.

2. new небыл переопределён для GCC.

--------------------------------------------------------------------------------
drkns 2008-12-09 00:13:07+02:00

1. RegExp.?pp добавлены в VC-проект.

--------------------------------------------------------------------------------
t-rex 2008-12-08 23:42:49+02:00 - build 638

1. Используя RegExp библиотеку любезно предоставленную Костей Ступником фар теперь умеет RegExp.
   Синтакс такой же как в плагине S&R (описано в его хэлпе, надо будет скопировать).
   Начинаем по мелкому, пока что в АПЙ этого нету но зато добавил поддержку RegExp в файловые маски.
   Это значит что теперь в любом месте где задаются маски можно использовать RegExp - например фильтры, поиск файлов, ассоциации, select.
   Так как функционал прозрачен то все плагины которые юзают АПЙ масок получают RegExp за бесплатно.
   Теперь о прозрачности: regexp должен задаватся в /regexp/ - т.е. идёт простая проверка, если первый символ маски это / то это regexp.
   По умолчанию regexp регистро-зависимые, если надо наоборот то /regexp/i (ну как обычно короче).
   В тех местах где поддерживается маска исключения тоже можно использовать regexp (или маску), с любой из сторон |.
   Если нужно точное соответсвие между RegExp и строкой то /^regexp$/.
   Примеры:
   /(eng|rus)/i
   /(eng|rus)/i|/.*(a|b)/i
   *.lng|/(eng|rus)/i
   /(eng|rus)/i|*.lng

--------------------------------------------------------------------------------
t-rex 2008-12-06 21:41:04+02:00 - build 637

1. Удалил (видимо забытые) строки из DM_SETMAXTEXTLENGTH которые не давали выставить размер больше чем 511.

--------------------------------------------------------------------------------
zg 2008-12-06 16:57:17+02:00 - build 636

1. добавлены два дополнительных DM_*:
   а. DM_GETDLGITEMSHORT - Param1 - ID элемента, Param2 - указатель на FarDialogItem.
                           PtrData всегда возвращается как NULL.
                           В случае успеха возвращается TRUE, в случае ошибки FALSE.
   б. DM_SETDLGITEMSHORT - полностью аналогичен DM_SETDLGITEM за исключением того,
                           что PtrData не используется.

--------------------------------------------------------------------------------
t-rex 2008-12-05 21:17:26+02:00 - build 635

1. Доделал API для работы FExcept, подходящая версия FExcept через минуту будет на SVN.

2. Различные мелкие исправления/доделки в PluginManager.

--------------------------------------------------------------------------------
drkns 2008-12-05 19:16:40+02:00 - build 634

1. Уточнение работы автоопределения.

--------------------------------------------------------------------------------
t-rex 2008-12-05 02:19:36+02:00 - build 633

1. Начальное API для загрузки и выгрузки плагинов (FARLOADPLUGIN FARUNLOADPLUGIN),
   пока что без особых проверок на валидность выгрузки, поэтому выгружать надо осторожно :)
   В farcmds через минуту будут префиксы pload и unloadp чтоб это использовать.

--------------------------------------------------------------------------------
drkns 2008-12-04 23:55:44+02:00 - build 632

1. Если _существующий_ файл открывали по ShiftF4 - зачем-то устанавливался флаг FFILEEDIT_NEW.

2. Если просят открыть файл с BOM в однобайтной кодировке - не будем его прятать.

--------------------------------------------------------------------------------
drkns 2008-12-04 19:38:03+02:00 - build 631

1. Попытки автоопределения LE/BE-уникода без сигнатуры.

2. Вроде бы починил глюки с кодировкой "Auto" в редакторе.

3. Не работали ситсемные ассоциации для некоторых типов файлов.

--------------------------------------------------------------------------------
t-rex 2008-12-04 01:50:41+02:00 - build 630

1. Открываем файл UTF8, ShiftF2 в UNICODE, если во время EE_GOTFOCUS который
   придёт после месаги о перезагрузки файла вызвать ECTL_GETINFO то AV ибо в
   редакторе нету строк.

На обдумывание:
1. Нафига нам вообще эта перезагрузка файла, вроде как лишняя совсем.
2. Хотя и AV в самом фаре, ловится оно как бы в плагине и плагин выгружается.

--------------------------------------------------------------------------------
drkns 2008-12-03 18:24:39+02:00 - build 629

1. Проверка возможности корректного сохранения текста в выбранной кодировке
   производится до любых манипуляций с исходным файлом.

2. В FileEditor::SaveFile убрана мешанина из libc и winapi-функций.

--------------------------------------------------------------------------------
drkns 2008-12-02 22:44:32+02:00 - build 628

1. К классу GetFileString прикручена проверка корректности отображения строки в уникод.

2. Редактор выдаёт предупреждение, если во время открытия файла перекодирование прошло с потерями.

--------------------------------------------------------------------------------
drkns 2008-12-02 18:02:06+02:00 - build 627

1. В 624 поломал сохранение в UTF<7|8>.

--------------------------------------------------------------------------------
t-rex 2008-12-02 12:41:01+02:00 - build 626

1. #if (_WIN32_WINNT >= 0x0500) добавлен вокруг нужных мест в keys.hpp.

--------------------------------------------------------------------------------
zg 2008-12-02 03:50:20+02:00 - build 625

1. у диалогов, созданных плагинами, фокус всегда был на первом элементе.

2. исправил gcc сборку.

--------------------------------------------------------------------------------
drkns 2008-12-02 01:03:36+02:00 - build 624

1. При попытке сохранения уникодного текста в неуникодной кодировке
   покажем сообщение, что "лучше так не делать".

--------------------------------------------------------------------------------
zg 2008-12-01 21:28:20+02:00 - build 623

1. использование неинициализированной переменной при создании редактора.

--------------------------------------------------------------------------------
drkns 2008-12-01 00:42:27+02:00 - build 622

1. В некоторых местах вместо BoxSymbols использовались непосредственно коды.

2. Доступ к элементам BoxSymbols производится через именованные константы (перечисление BOX_DEF_SYMBOLS).

--------------------------------------------------------------------------------
drkns 2008-11-30 20:59:07+02:00 - build 621

1. Mantis#0000605: На экране остаётся мусор.

--------------------------------------------------------------------------------
t-rex 2008-11-30 15:31:00+02:00 - build 620

1. Ещё варнинги.

--------------------------------------------------------------------------------
drkns 2008-11-30 12:23:04+02:00 - build 619

1. Mantis#0000646: OK button in the dialogs

2. Синхронизация vc-проекта с мейками.

3. Снова отголоски TI#48, теперь в дереве папок.

--------------------------------------------------------------------------------
t-rex 2008-11-30 11:26:12+02:00 - build 618

1. Исправил вроде как все ворнинги.

2. lng файлы теперь содержат версию фара что должно помочь разбирать разные тупые проблемы в этой сфере.
   Теперь править языковые строки надо в farlang.templ.m4 (farlang.templ теперь генерится из него).

--------------------------------------------------------------------------------
t-rex 2008-11-30 00:33:42+02:00

1. Был исправлен lng.generator на предмет не обновления языковых файлов когда использовались ключи -ol и -oh совместно с -i.
   Это приводило к проблемам в компиляции VC проектов. Обновил lng.generator.exe в tools.

2. Теперь и в мэйках используем -ol для lng.generator.

--------------------------------------------------------------------------------
drkns 2008-11-29 21:55:34+02:00 - build 617

1. Mantis#0000645: Падение при попытке вызвать несуществующий раздел помощи.

2. В диалоге назначения макрокоманды некорректно отображались некоторые клавиши.

--------------------------------------------------------------------------------
drkns 2008-11-29 17:49:01+02:00 - build 616

1. Говорят, падали ansi-плагины, делающие FCTL_SETSELECTION сразу на обе панели.

--------------------------------------------------------------------------------
t-rex 2008-11-29 04:20:11+02:00 - build 615

1. Исправил ворнинги.

2. Новый gcc мэйк не грузил файл dependencies.

3. На подобии с gcc сделал самостоятельный мэйк для VC (и переименован в makefile_vc).
   Он теперь пашет сам по себе и все эти батники больше не нужны.
   Также добавлен автодетект версии VC (по версии мэйк).

4. mkdep.awk теперь общий для всех компайлеров. mkdep.gcc.awk удалил.

--------------------------------------------------------------------------------
drkns 2008-11-28 18:43:14+02:00 - build 614

1. Поразвлекаемся с редактором, пока мелочи для разминки:
   - Mantis#0000515: Две ANSI кириллицы в списке кодировок;
   - работает F8;
   - работает сохранение в BE-юникоде;
   - правильно работает ShiftF2;
   - BOM пишется только если он уже был в файле или файл создан с нуля.

2. Установка атрибутов:
   - передвинул чекбоксы "как в 1.71";
   - после введения структуры ImportedFunctions отвалилось шифрование;
   - некорректная перерисовка при перемещении диалога.

3. Продолжение исправлений проблем в работе UnicodeString с реестром.

--------------------------------------------------------------------------------
t-rex 2008-11-28 15:24:43+02:00 - build 613

1. Мелкая оптимизация UnicodeString.

2. Исправление проблемы в работе UnicodeString и функциях для работы с реестром.
   Тут в общем надо довольно сильно переделать но на пока сойдёт.

3. Наконецто сделал чтоб gcc мэйк собирал всё одним ходом даже с нуля, а также dependancies
   генерятся теперь также как и для VC (mkdep.gcc.awk) что намного быстрей чем было.

4. mkdep.awk неправильно обрабатывал мена файлов с больше чем одной точкой в имени.

--------------------------------------------------------------------------------
t-rex 2008-11-27 20:30:15+02:00 - build 612

1. Пару мелких копи-паст глюков в 609.
   Кто уже успел заюзать настройку размеров в расскраске, сорри :)

--------------------------------------------------------------------------------
t-rex 2008-11-27 19:46:21+02:00 - build 611

1. Полез было переделывать поиск (AltF7) но перехотелось :)
   По дороге "исправил" пару мелочей.

--------------------------------------------------------------------------------
svs 2008-11-27 19:49:36+03:00 - build 610

1. Mantis#0000061: Listbox с границами и без

2. Убираем варнинг в hilight.cpp

--------------------------------------------------------------------------------
t-rex 2008-11-27 15:32:32+02:00 - build 609

Портирование изменений в фильтрах из 1.71:

1. Mantis#260: "динамический фильтр по дате".
   Относительная дата вносится в днях, часах, минутах и секундах (дней хоть 9999).
   От месяцев и годов отказался ибо это не точные числа.
   Считывание текущего времени для работы с относительными временем в фильтрах
   происходит один раз в начале "атомической" операции а не для каждого сравнения.
   Для операций которые происходят после диалога (копир, поиск и т.п.)
   текущее время считывается сразу после закрытия диалога.

2. Конктрено упростил фильтры (и чего я сразу так не придумал :),
   больше нету этих ужасно не интуитивных D?/D-/D+ в заголовке меню фильтров
   и теперь логика фильтрации такова (как мне кажется это очень интуитивно):
   Если папка не попала ни под какой exclude фильтр то самое логичное
   будет сделать ей include если не было дугих include фильтров на папки.
   кроме как в Select где логичней всего работать чисто по заданному фильтру.

3. Логика фильтра доделана (вроде бы :).
   Вернём старое поведение фильтра - проверяем до первого совпадения, так более интуитивно.
   По запросам добавлены действия "X" и "I" - StrongExclude и StrongInclude,
   которые имеют первенство над "-" и "+" даже если они дальше в списке.
   !!! Пометка фильтров (+ и -) слетела, надобно перенастроить !!!

4. Был удалён комбо бокс для выбора типа размера, теперь тип размера задаётся суффиксами [BKMGT],
   такое же изменение произошло в Alt-F7->Advanced Options.
   !!! Если вы пользовались этими настройками размеров то вам придётся всё перенастроить заново !!!

5. Немного оптимизации в фильтре и добавил комментарии чтоб не путаться :)

6. Авто хоткеи для авто-фильтров.

7. Mantis#0000569: Улучшения в диалоге фильтров.
   Теперь диалог раскраски влазит в 80x25 и вообще визуально диалог фильтров вроде как лучше выглядит.

8. Удалил неиспользуемую FileList::UpdateColorItems().

--------------------------------------------------------------------------------
drkns 2008-11-27 00:58:19+02:00 - build 608

1. С целью сокращения писанины введён IsSlash() и все места типа if(c==L'\\'||c==L'/') заменены на оный.

2. В config.cpp убраны суффиксы 'W' у переменных NKey*.

--------------------------------------------------------------------------------
drkns 2008-11-26 19:48:28+02:00 - build 607

1. Уточнение поведения прокрутки в редакторе.

--------------------------------------------------------------------------------
drkns 2008-11-26 18:38:33+02:00 - build 606

1. После 538 полоса прокрутки в QView, конечно, рисовалась как положено,
   но клики мышью по прежнему ожидались чёрт знает где.

2. Полоса прокрутки в панелях не захватывала мышь.

3. Полоса прокрутки добавлена в редактор.

--------------------------------------------------------------------------------
zeroes 2008-11-26 18:28:51+02:00 - build 605

1. фикс вьювера - при вызове диалога поиска под окном диалога
рисовалось окошко

 +- Поиск -+
 |  Поиск  |
 |   ""    |
 +---------+

--------------------------------------------------------------------------------
drkns 2008-11-25 19:13:48+02:00 - build 604

1. Коррекция lng и hlf на предмет ссылок/связей/копира и т.п.

--------------------------------------------------------------------------------
t-rex 2008-11-24 01:40:21+02:00 - build 603

1. Косметика и оптимизация в использовании UnicodeString в нескольких местах.
   Вроде как все "лёгкие" места поправил. Теперь надо будет занятся более "тяжелыми".

2. UnicodeString.LShift теперь умеет выкидывать символы с лобого места в строке.

--------------------------------------------------------------------------------
t-rex 2008-11-23 23:16:45+02:00 - build 602

1. Косметика и оптимизация в использовании UnicodeString в нескольких местах.

2. Исправлено несколько багов замеченых по дороге.

--------------------------------------------------------------------------------
t-rex 2008-11-23 17:29:32+02:00 - build 601

1. Функция ReplaceSlashToBSlash(string &), есть у меня такое ощущение что такая уже есть
   но не нашел и в каждом месте в коде это почему то делается руками.

2. Добавление в UnicodeString:
   - PosI ~= StrStrI
   - Lower и Upper умеют работать над куском строки.

3. Косметика и оптимизация в использовании UnicodeString в нескольких местах.

--------------------------------------------------------------------------------
t-rex 2008-11-23 00:26:56+02:00 - build 600

1. Косметика и оптимизация в использовании UnicodeString в нескольких местах.

--------------------------------------------------------------------------------
t-rex 2008-11-22 20:05:52+02:00 - build 599

1. Оптимизация UnicodeString.RPos, так как мы знаем длину строки

2. Исправил пару BUGBUG.

3. Косметика и оптимизация в использовании UnicodeString в нескольких местах.

--------------------------------------------------------------------------------
drkns 2008-11-22 16:17:52+02:00 - build 598

1. Mantis#0000595: FSF.PasteFromClipboard и FSF.DeleteBuffer: несоответствие типов

--------------------------------------------------------------------------------
t-rex 2008-11-22 13:26:11+02:00

1. Создал папочку contrib и положил туда первую добавку, проект для Code::Blocks из Mantis#594 от Slimfast2000.

--------------------------------------------------------------------------------
t-rex 2008-11-22 12:50:52+02:00 - build 597

1. from chupakabra: Дополнения к Mantis#636
   1. Изменения в PointToName():
      - Исправил поведение для путей вида "\path"
      - Проверка на ':' теперь производится не в цикле, а один раз в начале функции.
   2. При сортировке панели плагина Far постоянно пытается вызвать плагиновскую Compare
      (даже если её нет), из-за неверной проверки кода возврата.

--------------------------------------------------------------------------------
drkns 2008-11-21 18:17:31+02:00 - build 596

1. Продолжение 2457: не работал копир (а может и ещё что-то) если отсутствовал доступ
   к одному из надкаталогов источника или приёмника.
   Посему apiGetFindDataEx теперь при неудачном apiFindFirstFile пойдёт другим путём
   и заполнит pFindData самостоятельно.

2. Ещё одна мелкая правка в диалоге перезаписи.

--------------------------------------------------------------------------------
t-rex 2008-11-21 18:12:38+02:00 - build 595

1. from DiRTy_GaRRy: Mantis#495: Поиск файлов по содержимому значительно медленней, чем в 1.7.x.

--------------------------------------------------------------------------------
t-rex 2008-11-21 17:58:57+02:00 - build 594

1. Mantis#641: креш по CtrlIns/AltShiftIns.
   Раньше не падало потому что был lstrlenW вместо wcslen в StrLength и он видимо проверял
   bad ptr так что такого рода баги ещё ожидаются.

--------------------------------------------------------------------------------
drkns 2008-11-20 19:38:33+02:00 - build 593

1. AltF9 не работало в пустом меню.

--------------------------------------------------------------------------------
drkns 2008-11-20 19:21:07+02:00

1. localOEM.cpp добавлен в проект.

--------------------------------------------------------------------------------
t-rex 2008-11-20 15:47:13+02:00 - build 592

1. Взял из 1.71 функции для работы со строками в OEM что очень улучшает
   производительность плагинов работающих через враппер которые юзают эти функи.
   Это также решает Mantis#442 и Mantis#443.

--------------------------------------------------------------------------------
drkns 2008-11-19 20:16:11+02:00 - build 591

1. В меню работает AltF9.

--------------------------------------------------------------------------------
svs 2008-11-19 21:13:37+03:00 - build 590

1. Mantis#0000634: Не сохраняется состояние флага "Искать в символических связях"
   Теперь опция в поисковике не зависит от системной опции "Scan symbolic links"

--------------------------------------------------------------------------------
drkns 2008-11-19 19:24:02+02:00 - build 589

1. В диалоге перезаписи криво работал просмотр нового файла.

--------------------------------------------------------------------------------
drkns 2008-11-19 18:35:52+02:00

1. TPreRedrawFunc.?pp добавлены в проект.

--------------------------------------------------------------------------------
t-rex 2008-11-19 17:07:15+02:00 - build 588

1. from chupakabra: исправление проблемы внесённой в 583 билде (filelist.cpp).

2. Исправил gcc сборку.

3. Варнинги и т.п.

--------------------------------------------------------------------------------
svs 2008-11-19 14:26:32+03:00 - build 587

1. PreRedrawFunction. Смысл изменений в следующем.

   SetPreRedrawFunc() и комплект переменных служит для того, чтобы корректно
   отрисовывать экран после разнообразных диалогов, например, во время
   копирования нажали Esc, а потом снова Esc - здесь срабатывает сабж, чтобы
   отрисовать прогрессбар.

   Но т.к. глобальные PreRedrawFunc и PreRedrawParam существуют в
   единственном варианте, то вызов SetPreRedrawFunc(NULL) в очередном месте
   киляет предыдущее состояние. Из-за чего лезут глюки (если дебажную версию
   запускать с /do)

   Я постарался убрать сей недочет. Правда такие "рисунки" так и остались
   "рисунками"
   (желающие могут переделать в нормальные диалоги :-)). Начал как обычно с копира,
   но получилось везде, т.к. произошла переделка сабжа.

   На счет копира - здесь добавлена реакция на "разворот консоли".
   В копире начать копирование.
   Жмем Esc - появился диалог-прерыватель
   Пытаемся развернуть окно (дважды кликнуть на заголовке).
   Получилось, но экран полность не прорисовался.
   Теперь Esc и видим лабуду на экране.

   Внимание! Необходимо добавить новые файлы TPreRedrawFunc.?pp в проекты!

--------------------------------------------------------------------------------
drkns 2008-11-18 21:50:15+02:00 - build 586

1. "Оптимизация" предыдущего патча :)

--------------------------------------------------------------------------------
drkns 2008-11-18 18:37:20+02:00 - build 585

1. Продолжим ломать копир. Теперь до начала копирования, помимо [ ] Only newer file(s),
   можно выбрать "перезаписать всё"/"пропустить всё"/"дописать всё" и указать, надо ли
   запрашивать подтверждение для файлов с аттрибутом R/O.

2. В диалоге подтверждения перезаписи фокус передвинут на чекбокс.

3. Продолжение Mantis#0000638: неправильно отображался prompt.

--------------------------------------------------------------------------------
drkns 2008-11-18 01:05:36+02:00 - build 584

1. Немного пощупал диалог подтверждения перезаписи файла. Итого:
   - свершилось то, о чём так долго говорили большевики: кнопок "Overwrite all", "Skip all", "Append all" больше нет,
     есть один чекбокс "Remember choice". Диалог стал меньше, места стало больше.
   - на строках "New" и "Existing" можно нажимать F3 и наглядно сравнивать новое с существующим.

2. Mantis#0000638: Некорректно обрабатывается переход на папки с именем "C:", "E:", находящиеся в корне плагина

3. Нельзя было установить UNC-путь на панели через параметры командной строки.

--------------------------------------------------------------------------------
t-rex 2008-11-17 21:53:10+02:00 - build 583

from chupakabra

1. Mantis#636: Предложение по оптимизации обработки больших списков файлов.
   1. В filelist.cpp::SortList() вызываем PointToName() только тогда когда это реально нужно, т.е. при сортировке по имени файла.
   2. Там же используем новую функцию PointToExt() для поиска расширения файла.
   3. PointToName() изменена таким образом, чтобы работать более эффективно для длинных путей.
   4. В local.cpp::StrLength() вызов lstrlenW() заменен на wcslen().
   5. При компиляции с помощью cl.exe используется флаг /O2 вместо /O1.

--------------------------------------------------------------------------------
t-rex 2008-11-16 16:37:32+02:00 - build 582

1. Тупой ворнинг в предыдущем патче.

--------------------------------------------------------------------------------
t-rex 2008-11-16 16:05:59+02:00 - build 581

1. from Ariman: Mantis#580: Некоректный перебор расширений при запуске команды.

2. Убрал пару мелких ворнингов.

--------------------------------------------------------------------------------
svs 2008-11-06 21:20:54+03:00 - build 580

1. Mantis#0000308: Рисовать по умолчанию тень для диалогов с FDLG_SMALLDIALOG

--------------------------------------------------------------------------------
drkns 2008-11-05 22:57:11+02:00 - build 579

1. Обработка мультимедийной клавиши Sleep: макроклавиша "Sleep" + константа KEY_SLEEP.

--------------------------------------------------------------------------------
svs 2008-11-05 17:24:48+03:00 - build 578

1. Mantis#0000622: После ACTL_SETCURRENTWINDOW (или ACTL_COMMIT?) не посылается EE_KILLFOCUS
   From dolzenko
   Добавка моя: Запретим переключение фрэймов, если находимся в хелпе или диалоге

2. Mantis#0000187: Нельзя выйти из диалога с сообщением об ошибке
   не обрабатывался код ошибки COPY_FAILURE

--------------------------------------------------------------------------------
Zeroes 2008-11-03 00:23:45+02:00 - build 577

1. Падение FAR с exception

например в случае, когда есть макрос:

[HKEY_CURRENT_USER\Software\Far\KeyMacros\Shell\Esc]
"Sequence"="$If (!APanel.Visible) F9 End Left Enter Down Enter Enter CtrlO $Else CtrlO F9 End Left Enter Down Enter Enter $End"

и пытаемся зайти в архив RAR с зашифрованным заголовком (-hp) после запроса
пароля жмем ESC несколько раз (примерно на 7й раз 100% FAR падает)

--------------------------------------------------------------------------------
svs 2008-10-24 10:11:19+03:00 - build 576

1. Mantis#0000621: Макрос из плагина не отрабатывает, если тот вызван через функцию eval
    1. запускается макрос, код помещается в рабочую зону
    2. срабатывает eval, делает новое рабочее окружение (push) и помещает новый код
    3. доходит дело до плагина - добавляется новый код "%%AltHistoryDialogActive=1;" в туже зону
    4. помещенный eval`ом код говорит "end" и происходит восстановление (pop) предыдущей рабочей зоны, несмотря на то, что в текущей зоне еще остался макрокод от плагина.
    5. завершается основной код и...
    ...и все.
    В общем не стояла проверка для п.4, т.е. теперь смотрим, что если что-то в рабочей зоне осталось, то не делаем pop, а пытаемся завершить все дела в этой текущей зоне.

--------------------------------------------------------------------------------
drkns 2008-10-16 16:48:25+02:00 - build 575

1. Mantis#0000619: Просмотрщик начиная с некоторого билда не показывает полный путь файла.

--------------------------------------------------------------------------------
drkns 2008-10-06 00:05:30+02:00

1. Ветка для IA64 в vcproj. Работоспособность не проверялась.

--------------------------------------------------------------------------------
drkns 2008-10-03 18:27:50+02:00 - build 574

1. Mantis#0000614: Копирование не работает при задании директория без \ в конце. (регрессия)

--------------------------------------------------------------------------------
drkns 2008-10-03 01:24:28+02:00 - build 573

1. В обработчике MCODE_F_MENU_SELECT в VMProcess не передавался tmpMode, как результат -
   макрос Menu.Select всегда работал в режиме 0 (полное совпадение).

--------------------------------------------------------------------------------
drkns 2008-10-01 20:50:03+02:00

1. Mantis#0000613: Поиск не находит файлы и папки в подпапках при установке опции "Искать в символических связях"

  В отличие от 1.71 здесь ничего делать не надо - всё уже работает.
  Просто в справку добавлено, что операция может потребовать больше времени, чем обычно.

--------------------------------------------------------------------------------
thims 2008-10-01 13:00:00+02:00

1. Перелопачен far18.VS2008.vcproj на предмет более правильных зависимостей и по мелочам фиксы.
2. Добавил себя в maintainers по Viewer'у

--------------------------------------------------------------------------------
Zuz 2008-09-26 23:07:08+05:00 - build 572

1. Первые шаги в сторону IA64
2. deb64_ud2.asm теперь не нужен
3. SetErrorMode теперь вызывается один раз при старте FAR'a, почему вызовы SetErrorMode были размазаны по коду
   сейчас никто не помнит. Начнут выскакивать виндовые диалоги об ошибах доступа типа "файл не найден", обращаться
   ко мне.
4. Новый #Techinfo (временный):

   [HKEY_CURRENT_USER\Software\Far18\System]
   "IgnoreDataAlignmentFaults":REG_DWORD
   Параметр  "System/IgnoreDataAlignmentFaults"  с  типом  DWORD   позволяет
   подавлять ошибки выравнивания на платформе IA64.
   Может принимать следующие значения:
   0 - не подавлять ошибки выравнивания;
   1 - подавлять ошибки выравнивания.
   По умолчанию значение = 0 (не подавлять ошибки выравнивания).

--------------------------------------------------------------------------------
drkns 2008-09-26 08:13:14+02:00 - build 571

1. Бантики:
   - UMSG -> MSG
   - к ещё оставшимся winapi ansi функциям и структурам явно дописан суффикс 'A', + юникод определён по умолчанию.
   - Тип параметра у UnicodeString.[Get|Release]Buffer - size_t.

2. В WaitKey Sleep теперь не на 50 мс, а на одну - так и процессор не греет, и побочных эффектов (http://forum.farmanager.com/viewtopic.php?t=3492) нет.

3. Добавлен #undef DefDlgProc - в WinUser.h уже есть одноимённое определение, а в far.map потом появляются чудеса вида ?DefDlgProcA@Dialog@

--------------------------------------------------------------------------------
drkns 2008-09-24 19:04:47+02:00 - build 570

1. Поддержка создания вистовских ссылок по AltF6.
   Диалог слегка переделан, поведение оставлено максимально совместимым со старым:
    - если источник==файл(ы) - по умолчанию выбран hardlink
    - если источник==каталог(и) - junction.
   Новые виды ссылок надо выбирать ручками :)
   В справке всё это пока не отражено.

   Здесь же: при создании ссылок отключены проверки файловых систем, типов носителя, и т.п. для источника и приёмника, ибо работают они далеко не всегда адекватно.
   Логика проста - фар не должен включать режим телепата и строить догадки, сможет ли ОС создать ту или иную ссылку - ей в любом случае виднее.

2. API: FSF.MkLink знает о новых флагах:

     FLINK_SYMLINKFILE - символическая ссылка-файл (NT>=6)
     FLINK_SYMLINKDIR  - символическая ссылка-каталог (NT>=6)

     FLINK_SYMLINK переименован в FLINK_JUNCTION, в pluginold.hpp старое имя оставлено для совместимости.

3. Отображение ссылок в диалоге атрибутов и quickview:
   - скорректирована длина выводимого текста;
   - связи, указывающие на \\?\Volume{GUID}\some_path, считались монтированными томами.

4. ConvertNameToReal правильно обрабатывает символические ссылки-файлы.

5. При копировании/переносе ссылки фар блюдёт её тип и больше не превращает symlink в junction.

6. Mantis#0000607: "Лишний" бэкслеш в переменной пути окружения FAR.

--------------------------------------------------------------------------------
yjh 2008-09-16 20:46:04+03:00 - build 569

1. 64bit warnings

--------------------------------------------------------------------------------
drkns 2008-09-16 15:50:14+02:00 - build 568

1. Добавлена отсутствующая в старых SDK константа SYMBOLIC_LINK_FLAG_DIRECTORY.

2. GCC warnings.

--------------------------------------------------------------------------------
drkns 2008-09-14 14:20:12+02:00 - build 567

1. GetJunctionPointInfo требовала слишком много прав для открытия симлинка, в результате чего она
   обламывалась на симлинках с Everyone:(DENY)(special access:) FILE_READ_DATA (в Висте таких полно).
   Сама функция переименована в GetReparsePointInfo (ибо этим по сути и является).

2. [Create|Delete]JunctionPoint теперь умеют [создавать|удалять] вистовские симлинки и переименованы в [Create|Delete]ReparsePoint.

3. В ряде мест убраны проверки на CheckFolder()==CHKFLD_NOTACCESS, т.к. из-за них нельзя было зайти в каталог,
   где можно "traverse folder", но нельзя "list folder" (в Висте, опять же, таких полно, и cmd зайти позволяет).
   А BugZ#743, ради которого они вводились, похоже, уже починился где-то раньше.

4. apiFindFirstFile при неудаче пытается развернуть симлинк и попробовать ещё раз для реального пути.
   Также в коде одиночные вызовы apiFindFirstFile заменены на apiGetFindDataEx + для симметрии добавленa apiFindClose.

5. Умеем различать обычные симлинки (aka связь/junction) и вистовские (aka ссылка/symlink) в диалоге атрибутов,
   быстром просмотре и столбце панели. lng и hlf ещё надо кое-где уточнить.

6. В IsModulePlugin2 добавлена проверка IMAGE_FILE_HEADER.Machine, дабы 32-битный фар не пытался грузить 64-битные плагины (и наоборот).

7. wcsncmp=>StrCmpN, StrCmpN=>StrCmpNI в некоторых местах.

8. Криво работала команда cd \\.\pipe :)

9. Некоторая поддержка относительных вистовских симлинков, по мотивам 1.71.2226.

--------------------------------------------------------------------------------
drkns 2008-09-12 11:46:27+02:00 - build 566

1. Не работала Message c флагом FMSG_ERRORTYPE для неизвестных FAR'у кодов ошибок.

--------------------------------------------------------------------------------
drkns 2008-09-10 01:18:40+02:00 - build 565

1. WindowInfo.TypeName и WindowInfo.Name теперь имеют тип const wchar_t*.
   Структуру WindowInfo, заполненную по ACTL_GETWINDOWINFO, нужно освобождать командой ACTL_FREEWINDOWINFO.
   Как обычно: если кто использовал это в плагинах - надо править.

2. В паре мест при вызове UnicodeToAnsi размер приемника передавался на 1 байт меньше возможного.

--------------------------------------------------------------------------------
drkns 2008-09-07 14:21:22+02:00 - build 564

1. FCTL_GET[ANOTHER]PANELSHORTINFO для ansi-плагинов должна работать по прежнему.

--------------------------------------------------------------------------------
drkns 2008-09-07 13:21:42+02:00 - build 563

1. FCTL_FREEPANELINFO всегда возвращала FALSE;

2. FCTL_GETPANELSHORTINFO теперь НЕ ЗАПОЛНЯЕТ поля lpwszColumnTypes, lpwszColumnWidths
   и lpwszCurDir структуры PanelInfo. Освобождать заполненную этой командой структуру не надо.

--------------------------------------------------------------------------------
yjh 2008-09-06 22:45:30+03:00 - build 562

1. Убираем warning в 64хбитовой компиляции

--------------------------------------------------------------------------------
drkns 2008-09-06 16:56:32+02:00 - build 561

1. Утечки памяти в SortList и FileListToPluginItem.

--------------------------------------------------------------------------------
drkns 2008-09-05 22:27:29+02:00 - build 560

1. From Alexey Samlyukov: уточнения в oldfar::FCTL_GET[ANOTHER]PANEL[SHORT]INFO.

--------------------------------------------------------------------------------
drkns 2008-09-05 21:33:06+02:00 - build 559

1. И ещё одна поправка к 557.

--------------------------------------------------------------------------------
drkns 2008-09-05 14:34:30+02:00 - build 558

1. Поправка к предыдущему билду.

--------------------------------------------------------------------------------
drkns 2008-09-04 22:16:09+02:00 - build 557

1. Mantis#0000582: memleak при FCTL_GETPANELINFO(FCTL_GETPANELSHORTINFO)
   Тут дело не в утечках во враппере, а в недоделанном api :)
   Теперь в юникодных плагинах _НАДО_ делать FCTL_FREEPANELINFO после всякого FCTL_GETPANEL[SHORT]INFO.

2. Работает FCTL_SETSELECTION для ansi-плагинов.

2. Очередные изменения в api: PanelInfo.SelectedItems теперь массив указателей на соответствующие выделенные элементы
   массива PanelInfo.PanelItems, а не массив копий оных. Плагины, использующие это, надо править.

3. FCTL_GETCMDLINE[SELECTEDTEXT]: если в Param передан NULL, функция вернёт необходимый
   размер буфера (в символах) без учёта 0.

4. Дополнение к 551: PrepareDiskPath возвращала ерунду, если ей подсунуть корткое имя.

--------------------------------------------------------------------------------
svs 2008-09-04 17:08:57+03:00 - build 556

1. В Editor::SetCacheParams, FileEditor::LoadFromCache и FileEditor::SaveToCache
   восстановлен баланс сил - запоминание/восстановление шорткатов, позиций, etc. как в 1.7.

2. Mantis#0000603: не работает StartChar в Editor()
   В FileEditor::LoadFile функцию Editor::SetCacheParams вызываем всегда.

--------------------------------------------------------------------------------
svs 2008-09-04 01:30:32+03:00 - build 555

1. Bug. Открыть файл во вьювере, перейти в конец/середину/etc., нажать F6.
   В редакторе оказываемся в самом начале файла.
   Сравнить с поведением 1.7x.
   Hint (для АПИ :-). Если в Info.Editor в качестве StartLine указать -2, то
   параметр StartChar ФАР будет воспринимать как смещение в байтах от начала
   файла и постарается встать в начало строки, подходящее под это смещение.

--------------------------------------------------------------------------------
svs 2008-09-03 18:33:52+03:00 - build 554

1. Mantis#0000600: Поведение DIF_SELECTONENTRY при создании диалога
   Поломалось в 2257 билде.

2. Небольшие уточнения для FileEditor...
   В FileList::ProcessKey исключаем "лишний" просчет NamesList
   В FarEditor при EF_NONMODAL редактор пытался запускаться при XC_LOADING_INTERRUPTED.

3. Избавляемся от варнингов в macro.cpp

--------------------------------------------------------------------------------
drkns 2008-08-31 19:06:01+02:00 - build 553

1. В 361 билде сломалось назначение макросов на клавиши !@#$%^&*()_+|.

2. В 481 билде сломались хоткеи с Shift.

3. Косметика: в диалоге назначения макроклавиши клавиша приводится к верхнему регистру.

--------------------------------------------------------------------------------
drkns 2008-08-31 13:37:57+02:00 - build 552

1. Mantis#0000588: размер буфера в MakeDirectory()

   Но NM - зло, его надо искоренять :)

   MakeDirectory теперь выглядит так:
     int WINAPI MakeDirectory(HANDLE hPlugin,const wchar_t **Name,int OpMode);

   Плагин должен передать Фару через Name указатель на свой буфер, содержащий имя каталога.
   Буфер должны быть валиден после возвращения из функции.

   Аналогичные изменения в GetFiles:
     int WINAPI GetFiles(HANDLE hPlugin,struct PluginPanelItem *PanelItem,int ItemsNumber,int Move,wchar_t **DestPath,int OpMode);

     DestPath изначально указывает на путь назначения, если плагин его меняет - DestPath должен
     указывать на буфер плагина, содержащий новый путь. Буфер должны быть валиден после возвращения из функции.

   Соответственно, плагины, использующие эти функции, надо переделать.

--------------------------------------------------------------------------------
drkns 2008-08-29 23:47:36+02:00 - build 551

1. Mantis#0000475: Отображение заголовка панели ЗАГЛАВНЫМИ буквами даже когда директорий не заглавный
   Mantis#0000599: Невозможно ходить по сетевым дискам подключенным через WebDAV

   Оба тикета - следствие использования коротких имён в определении правильного регистра пути.
   PrepareDiskPath слегка переписана, короткие имена теперь там не задействуются вообще.

--------------------------------------------------------------------------------
svs 2008-08-20 17:21:30+03:00 - build 550

1. Mantis#0000592: Сбрасывается состояние IClip при использовании функции eval

--------------------------------------------------------------------------------
drkns 2008-08-14 10:53:21+02:00 - build 549

1. Продолжение 547 - при выводе копирайта прокручиваем экран только если в этом есть необходимость.

--------------------------------------------------------------------------------
drkns 2008-08-12 16:29:00+02:00 - build 548

1. Пляски с OpenPluginInfo во враппере (b539) получились не совсем удачными, попробуем иначе.
   Как следствие, Mantis#587: entering '..' inside an archive exits archive instead of going up 1 level

2. В UnicodeString::SetData добавлен NullToEmpty, дабы не писать его в куче других мест.

--------------------------------------------------------------------------------
drkns 2008-08-11 00:19:22+02:00 - build 547

1. Цвет пользовательского буфера теперь настраивается.
   В палитру добавлен COL_COMMANDLINEUSERSCREEN.

2. При выходе из FAR восстанавливаются цвета текста/фона, использовавшиеся в консоли до его запуска.

3. При старте FAR некорректно прокручивался предыдущий output и копирайт рисовался поверх него, а не после.

--------------------------------------------------------------------------------
svs 2008-08-10 23:29:07+03:00 - build 546

1. Mantis#0000577: Сбрасывается позиция в строке при Undo после XLat
   в Editor:XLat в AddUndo в качестве параметра savepos юзался 0 :-(
   возможно вместо CurPtr->GetCurPos() нужно преобразование с учетом табов (?)

2. Mantis#0000554: В списке Hotplug-устройств отсутствует диалог об ошибке извлечения устройства

3. Mantis#0000579: Неполадки при операциях фара (таких как копирование), запущенных из макроса
   Если "DisableOutput=0" и в процессе копирования, например, мы нажали Esc и отменили процесс и (!)
   если логика макроса не поняла, что ее "кинули" (макрос не отследил факта появления "левого"
   диалога), то...

--------------------------------------------------------------------------------
svs 2008-08-08 20:10:03+03:00 - build 545

1. Mantis#0000571: некорректно отрисовывается соседняя панель

--------------------------------------------------------------------------------
drkns 2008-08-06 22:28:53+02:00 - build 544

1. Криво обрабатывалось кнопкосочетание CtrlAltShiftPause.

2. Раз уж движок позволяет обрабатывать сочетания c CtrlAltShift, зарезервируем для CtrlAltShiftF1-F12 место в lng.
   Также зарезервировано место для CtrlAlt-, AltShift- и CtrlShiftF1-F12 в областях Help, Info, QView и Tree.

--------------------------------------------------------------------------------
svs 2008-08-06 12:50:15+03:00 - build 543

1. Macro: добавлена функция "s=trim(s[,n])" - удаляет все пробельные символы (пробелы, табуляции,
   переводы строк и возвраты каретки) из строки s снаружи (n=0 или не указан), слева (n=1)
   или справа (n=2)

2. Macro: уточнение для substr. Теперь работает верно.

3. Macro: уточнение функций msgbox, prompt, panelsetpath там где в параметрах используется строка.
   Например,
     msgbox(1,2) выдаст диалог с заголовком "1", текстом "2" и кнопкой "Ок".
     msgbox(0,2) выдаст диалог с пустым заголовком, текстом "2" и кнопкой "Ок".
     msgbox("0",2) выдаст диалог с заголовком "0", текстом "2" и кнопкой "Ок".
     т.е. если нужно явно указать "0" - заключаем этот ноль в кавычки.

4. Macro: После 542 отвалился msgbox (где в качестве кол-ва необязательных указано значение, равное количеству
   параметров и больше 1). Починили.

5. Bug: неправильное определение позиции клика мыши во вьювере в статусной строке.
   Viewer работает со своей системой координат.
   Так же из-за этого VCTL_GETINFO возвращал WindowSizeY на 1 меньше реального значения.

--------------------------------------------------------------------------------
svs 2008-08-05 14:38:06+03:00 - build 542

1. Mantis#0000581: Добавить возможность прервать выполнение макроса
   CtrlBreak прерывает выполнение макроса. Назначать макросы на CtrlBreak тоже можно

2. Mantis#0000564: Не работает ключ фара /ma
   Проблемы с логикой :-)
   MDOL_ALL теперь равен 0x80000000

3. Macro: изменения в substr(). Если N2 = 0, то вернется пустая строка.
   Для варианта "от сюда и до конца строки" нужно указать N2 < 0

4. Macro: уточнение msgbox. Теперь все параметры можно не указывать.

--------------------------------------------------------------------------------
drkns 2008-08-05 11:32:24+02:00

1. Косметика в far.mak + в догонку к одному из предыдущих билдов: замена int на DWORD в паре мест, связанных с обработкой аттрибутов.

--------------------------------------------------------------------------------
drkns 2008-08-04 00:50:56+02:00 - build 541

1. Обновил .vcproj + мелкие правки в хидерах.

--------------------------------------------------------------------------------
warp 2008-08-04 00:20:00+03:00 - build 540

1. Очередной бессмысленный подвиг. Перенес загрузку всех импортируемых функций в одно место.
   Надо обновить .vcproj, mak'и вроде обновил. Проверяем, чтобы ничего не отвалилось.

--------------------------------------------------------------------------------
drkns 2008-08-03 22:11:48+02:00 - build 539

1. Для ansi-плагинов портилось содержимое OpenPluginInfo при повторном вызове фаром GetOpenPluginInfo().
   Пока что сделано дёшево и сердито. Возможно, надо менять сам способ хранения этой информации.

2. К строкам, добавляемым ansi-плагинами к меню плагинов, меню дисков и меню конфигурации,
   насильно дописывается суффикс " [A]", дабы оные были видны издалека.

3. GetFileOwner для плагинов.

--------------------------------------------------------------------------------
warp 2008-08-03 21:58:00+03:00 - build 538

1. Теперь полоса прокрутки в QView рисуется как положено на рамке панели, а не черт знает где.

--------------------------------------------------------------------------------
drkns 2008-08-02 19:59:42+02:00 - build 537

1. В диалогах и ещё паре мест знаковые переменные использовались вперемешку с беззнаковыми.

--------------------------------------------------------------------------------
drkns 2008-07-31 21:03:09+02:00 - build 536

1. Немного почистил код:
    - Все структуры и константы, отсутствующие в поддерживаемых SDK, вынесены в sdkpatches.hpp.
      Просьба при необходимости дописывать именно туда;
    - Убраны некоторые анахронизмы;
    - прочая косметика.

--------------------------------------------------------------------------------
drkns 2008-07-29 19:30:20+02:00 - build 535

1. Поправлена сборка с vc 2005 и gcc.

--------------------------------------------------------------------------------
drkns 2008-07-29 10:15:52+05:00 - build 534

1. Начальная поддержка NTFS sparse-файлов:
    - "умное" копирование (только ненулевые сегменты);
    - Корректный подсчет размера в панелях и QuickInfo.

2. Добавлена функция apiSetFilePointerEx - обертка вокруг SetFilePointer[Ex].

3. Ещё немного именованных констант.

4. В SendDlgMessage и DefDlgProc проверка нулевого значения hDlg была не там, где надо.

--------------------------------------------------------------------------------
Zuz 2008-07-22 21:12:52+05:00 - build 533

1. Mantis#0000576 Некорректная прорисовка в связи с ограничением функции WriteConsoleOutput, пока правка в лоб.

--------------------------------------------------------------------------------
svs 2008-07-21 15:07:54+03:00 - build 532

1. Macro: gethotkey - параметр можно не указывать.

--------------------------------------------------------------------------------
drkns 2008-07-09 19:48:58+02:00 - build 531

1. Не работало снятие выделения в редакторе по EditorSelect.BlockStartPos=-1.

2. Mantis#0000572: некорректное отрисовывание меню настроек плагинов.

--------------------------------------------------------------------------------
drkns 2008-07-06 22:15:34+02:00 - build 530

1. Отголоски #462: вернём плагинам старое поведение ConvertNameToReal, с разврорачиванием до \\?\Volume{...}.

--------------------------------------------------------------------------------
drkns 2008-07-04 20:18:48+02:00

1. min|max заменены на "правильные" Min|Max.

--------------------------------------------------------------------------------
svs 2008-07-04 17:57:25+03:00 - build 529

1. Mantis#0000570: Вычисление текущего каталога для плагина с OPIF_REALNAMES

--------------------------------------------------------------------------------
drkns 2008-06-25 09:15:36+02:00 - build 528

1. В 521 не учёл операции с относительными путями.

--------------------------------------------------------------------------------
t-rex 2008-06-29 14:06:55+02:00 - build 527

1. С форума: http://forum.farmanager.com/viewtopic.php?f=9&p=33805#p33805
   Как минимум в Win таблице символы с кодом меньше 128 не должны перекодироватся.
   Для 1.80 это не особо актуально но так как GetTable всё ещё в пару мест используется решил исправить и тут.

--------------------------------------------------------------------------------
t-rex 2008-06-29 01:12:09+02:00 - build 526

1. Mantis#0000529 Не восстанавливается текущая позиция в командной строке

2. Mantis#0000568 Сбивается командная строка при скрытии/показе/обновлении файловой панели (в т.ч. автоматическом)

--------------------------------------------------------------------------------
drkns 2008-06-28 22:16:11+02:00 - build 525

1. Починим сломанное в 523 и немного косметики в коде.

--------------------------------------------------------------------------------
t-rex 2008-06-28 19:35:48+02:00 - build 524

1. Исправил неожиданные сдвиги экрана (LeftPos) в редакторе при скролирование.
   Вообще главная причина глюка это то что у нас почти все параметры редактора они реальное не
   параметры редактора а каждой строки в редакторе. Кто то хочет это переделать? :)

--------------------------------------------------------------------------------
drkns 2008-06-27 22:56:28+02:00 - build 523

1. Баги с историей строк ввода во враппере.

--------------------------------------------------------------------------------
t-rex 2008-06-25 22:48:27+02:00 - build 522 Турция vs. Россия :)

1. Оптимизация открытия файлов с очень длинными строками в редакторе.
   До оптимизации файл со строкой в 64MB открывался примерно минуту, теперь секунду.
   Само собой наличие колорера оптимизацию немного губит :)

--------------------------------------------------------------------------------
drkns 2008-06-25 21:37:14+02:00 - build 521

1. Добавка к 517: в операции переноса файла между сетевыми дисками уточнёна
   проверка принадлежности источника и приёмника к одному устройству.

2. Не работали операции с UNC-путями (CtrlAltIns, CtrlAltF и иже с ними).

--------------------------------------------------------------------------------
svs 2008-06-25 17:16:20+03:00 - build 520

1. Mantis#0000567: Поиске в длинном фалей с попыткой отмены поиска
   Действуем так же как и при загрузке (см. build 493) - "развернем" функцию CheckForEsc() as is.

--------------------------------------------------------------------------------
svs 2008-06-23 19:33:54+03:00 - build 519

1. Mantis#0000564: Не работает ключ фара /ma
   Кроме /ma так же "улучшены" остальные ключи

--------------------------------------------------------------------------------
drkns 2008-06-23 18:02:51+02:00 - build 518

1. Mantis#0000082: Добавить "Пропустить все" в диалог.

2. Уточнения в блокировании чекбоксов, соответствующих NTFS-атрибутам, для
   монтированных не-NTFS томов и файлов на этих томах.

3. Не работала кнопка "Skip all" для атрибутов при копировании.

4. Косметика: "магические числа", возвращаемые ESetFile*(), заменены константами.

--------------------------------------------------------------------------------
drkns 2008-06-21 01:50:16+02:00 - build 517

1. С форума: "Проблема при перемещении файлов на Hard-linked устройство".
   Некорректно работала _GetPathRoot() для монтированных дисков.

--------------------------------------------------------------------------------
svs 2008-06-20 11:46:31+03:00 - build 516

1. Доработка к 515-му - забыл вернуть -1 (ошибку)

--------------------------------------------------------------------------------
svs 2008-06-20 11:11:21+03:00 - build 515

1. Macro: breaking change.
   Dlg.ItemType отдает все то же самое, что возвращает Dlg.GetValue(XXX,1), плюс изменения:
    * -1 - ошибка, например, Dlg.ItemType вызван не в диалоге
    * 0x8004 - Выбор из истории поля ввода
    * 0x800A - Выбор из комбинированного списка

--------------------------------------------------------------------------------
svs 2008-06-19 19:33:11+03:00 - build 514

1. Mantis#0000560: Стирание текста в окошках поиска/замены

--------------------------------------------------------------------------------
svs 2008-06-18 19:28:55+03:00 - build 513

1. From bitomaxsp:
   Mantis#0000559: Попытка убрать RAVE и BUGBUG при поиске и замене
   Сделал чтобы в Edit передавалось string при поиске вместо wchar_t.
   Убрал "отливание в сторонку" строки поиска и строки замены.
   Теперь просто используются string вместо указателей на wchar_t.

--------------------------------------------------------------------------------
svs 2008-06-17 22:00:18+03:00 - build 512

1. Усиливаем build 2387 - при смене фокуса this ставим правильный :-)
   + добавка в АПИ: VE_GOTFOCUS & VE_KILLFOCUS

2. Mantis#0000556: Menu.Select: неверно работает назначение хоткеев и пр.
   Здесь проблема в том.... что ReadInput должен вызываться до получения позиции в меню, т.к.... :-)
   ReadInput вызывает мкародвиг, который и меняет данные.

3. plugin.pas в порядок бы привести... :-(

--------------------------------------------------------------------------------
svs 2008-06-17 18:44:24+03:00 - build 511

1. Mantis#0000558: Булево состояние DisableOutput всегда ложно

2. Mantis#0000547: Выделение найденных фрагментов при поиске
   From bitomaxsp.
   Значение опции не запоминалось.

--------------------------------------------------------------------------------
zg 2008-06-16 20:32:26+02:00 - build 510

1. если открыть один просмотр, в нём переключится в hex,
   потом второй просмотр (без переключения в hex), и потом вернутся
   в первый просмотр, то для плагинов активным останется второй просмотр.
   например s&r будет искать во втором просмотре.

--------------------------------------------------------------------------------
svs 2008-06-16 16:21:02+03:00

1. без билда. Поправил CONTRIBUTORS

--------------------------------------------------------------------------------
warp 2008-06-15 05:54:00+03:00 - build 509

1. Уточнение в парсере колонок во враппере. Хотя, видимо, тоже не до конца корректный вариант,
   но больше не падает на "N, N, N,".

--------------------------------------------------------------------------------
warp 2008-06-14 01:03:00+03:00 - build 508

1. В API добавлен макрос PANEL_NONE, значит то же, что и INVALID_HANDLE_VALUE.

2. CURRENT_PANEL/ANOTHER_PANEL переименованы в PANEL_ACTIVE/PANEL_PASSIVE.

3. Добавлен FCTL_ISACTIVEPANEL.

--------------------------------------------------------------------------------
t-rex 2008-06-13 17:26:33+02:00 - build 507

1. hook_wow64.c теперь собирается с GCC.
   Работоспособность проверялась в GCC 4.3.0, в 3.4.5 нет поддержки TLS
   и поэтому фича там задисэйблена.

--------------------------------------------------------------------------------
zg 2008-06-12 11:58:39+02:00 - build 506

1. про поиске файлов например по маске "makefile" зачем-то находились Makefile.svn-base.

--------------------------------------------------------------------------------
yjh 2008-06-12 02:46:56+03:00 - build 505

1. Очередная ошибка в wow_hook - "спешка нужна при ловле блох"(С) :(.
   А вот то что оно всё равно работало, очередной раз доказывает, что
   то что программа запускается ещё не значит что она работает ;-)

--------------------------------------------------------------------------------
yjh 2008-06-10 21:29:41+03:00 - build 504

1. "Экономия" в хуке для wow64. Раз уж из-за ошибки в последнем SP (к слову -
   в ms её признали и обещали исправить :), приходится в ручную выдавать
   VirtualProtect, то не нужен лишний syscal WriteProcessMemory

--------------------------------------------------------------------------------
svs 2008-06-10 19:30:46+03:00 - build 503

1. Mantis#0000550: Падение в dialogs.cpp - Dialog::ProcessCenterGroup()

--------------------------------------------------------------------------------
yjh 2008-06-10 18:43:57+03:00 - build 502

1. Mantis#0000551: отрицательный фильтр с атрибутом каталога в подсчёте
   'total' при копировании.
   From: Ariman

--------------------------------------------------------------------------------
yjh 2008-06-09 23:01:41+03:00 - build 501

1. Обход в очередлной раз повторенной MS ошибки в WriteProcessMemory, на сей
   раз в 32хбитной версии kernel32.dll от 64хбитового 2003 :)

--------------------------------------------------------------------------------
drkns 2008-06-09 21:14:59+02:00 - build 500

1. Mantis#0000535: курсор за пределами строки.

--------------------------------------------------------------------------------
yjh 2008-06-09 22:00:37+03:00 - build 499

1, Классический паример "чётного числа ошибок" :) - хук, конечно, работал
   но вот преврка была не корректной и если бы ntdll изменился...

--------------------------------------------------------------------------------
svs 2008-06-09 16:56:48+03:00 - build 498

From bitomaxsp:

1. Mantis#0000547: Выделение найденных фрагментов при поиске

--------------------------------------------------------------------------------
yjh 2008-06-09 07:15:42+03:00 - build 497

1. Адаптация makesystem для сборки vc9 (VS2008) - пока не по умолчанию.
   Помимо изменения путей в custom.vc.xxx следует добавить в NMAKE_OPTS
   параметр USE_VC9=1.
   После того как все садаптируются :) сделаем дефолтным

--------------------------------------------------------------------------------
t-rex 2008-06-08 14:45:36+02:00 - build 496

1. Сделаем plugin.hpp RC friednly.

--------------------------------------------------------------------------------
yjh 2008-06-08 00:53:42+03:00 - build 495

1. В PluginsPanelInfo Reserved теперь не 2 DWORD'а а 2 DWORD_PTR.

--------------------------------------------------------------------------------
drkns 2008-06-06 11:04:18+02:00

1. Проект для VS2008.

--------------------------------------------------------------------------------
svs 2008-06-05 00:50:59+03:00 - build 494

3. 'VMenu::GetTitle(char *,int)' и 'Frame::GetTitle(char *,int,int)'
   получились разными функциями и в макросах для менюх непонятно что вызывается...
   Привел к одному знаменателю.

--------------------------------------------------------------------------------
svs 2008-06-04 22:51:51+03:00 - build 493

From Denis:

1. Mantis#0000539: Новая фича в редакторе
   В редакторе добавлена обработка Alt-F7

2. Mantis#0000545: В процессе загрузки большого файла в редактор не появляется фоновое окно загрузки

Небольшая добавка от меня (добавка для Mantis#0000545)  :-)  (в 1.7x тоже есть такое)

3. Открываем большой файл...
    - пытаемся открыть большой файл
    - появляется месаг загрузки
    - Esc -появляется приглашение прервать это безобразие
    - Esc - отказываемся, т.е. пусть дальше грузиться и... месаг процесса загрузки не появляется
   Для лечения "развернем" функцию CheckForEsc() as is.

--------------------------------------------------------------------------------
svs 2008-06-04 13:36:30+03:00 - build 492

1. Mantis#0000543: Не освобождается память при прерывании операции открытия файла в редакторе
   From: Denis

--------------------------------------------------------------------------------
t-rex + zg 2008-05-30 17:54:32+02:00 - build 491

1. В сборке GCC не осталось предупреждений (не считая -Wno-missing-braces -Wno-unknown-pragmas -Wno-switch).

2. За одно решились (некоторые?) проблемы с выравниванием влияющие на IA64 (FILETIME to __int64).

--------------------------------------------------------------------------------
t-rex 2008-05-30 15:32:02+02:00 - build 490

1. fixed vc build.

--------------------------------------------------------------------------------
zg 2008-05-30 13:40:30+02:00 - build 489

1. убрана ненужная переменная.

2. warnings.

--------------------------------------------------------------------------------
yjh 2008-05-28 21:29:46+03:00 - build 488

1. При копировании с разрешённым созданием symlink'ов и включенным
   Total индикатором - не подсчитывать размер находящегося внутри
   symlink

--------------------------------------------------------------------------------
drkns 2008-05-25 21:39:36+02:00 - build 487

1. Mantis#0000533 ещё даёт о себе знать.

--------------------------------------------------------------------------------
svs 2008-05-23 20:31:18+03:00 - build 486

1. Mantis#0000537: Menu.Select не позиционирует на Folders в меню фильтров
   добавлен 3-й режим, итого:
     0 - полное совпадение
     1 - совпадение с началом строки
     2 - совпадение с концом строки
     3 - совпадение подстроки в любом месте строки

--------------------------------------------------------------------------------
svs 2008-05-21 20:19:51+03:00 - build 485

1. Mantis#0000527: Сделать необязательным параметр функции WaitKey
   Нашлась бага в парсере... Нужно тестировать!!!
   Если что, не откатываемся, а пытаемся понять причину ;-)

2. Mantis#0000526: Сделать необязательным второй параметр функции clip

3. Mantis#0000532: Недостающие состояния в Редакторе и Просмотрщике
   Для Editor.State и Viewer.State:
     0x08000000 - режим "редактор/вьювер" (FAR запущен с ключами /e /v)
     0x00000800 - модальный редактор/вьювер

--------------------------------------------------------------------------------
drkns 2008-05-16 01:46:34+02:00 - build 484

1. В обработке BOM в юзерменю, добавленной в #480, не учёл, что функция может вызываться рекурсивно,
   в результате разбор вложенного меню зацикливался, а реестр забивался мусором :(

--------------------------------------------------------------------------------
drkns 2008-05-15 19:52:55+02:00 - build 483

1. В некоторых экзотических случаях неправильно работала PartCmdLine - строка делилась на пустую команду с непустым параметром.

2. В некоторых не менее экзотических случаях Фар пытался записать отрицательное количество байт в виртуальный буфер (c предсказуемым результатом).

3. В enum FarDialogSettings добавлены недостающие константы:

   FDIS_DELREMOVESBLOCKS:              "Del удаляет блоки в строках ввода"
   FDIS_MOUSECLICKOUTSIDECLOSESDIALOG: "Клик мыши вне диалога закрывает диалог"

4. Mantis#0000533: Far calculates wrong folder size.

--------------------------------------------------------------------------------
t-rex 2008-05-12 00:41:48+02:00 - build 482

1. Уже виден конец ворнингов.

--------------------------------------------------------------------------------
t-rex 2008-05-11 21:06:17+02:00 - build 481

1. Собираем с GCC 4.3.0 с -Wall (минус пару ворнингов на покамест).
   Уменьшил количество ворнингов с "до хренища" до "до хрена".

2. Mantis#531: hotplug.cpp - два вхождения #pragma hdrstop.

--------------------------------------------------------------------------------
drkns 2008-05-11 20:03:36+02:00

1. Прекомпилированные заголовочные файлы для VC.

--------------------------------------------------------------------------------
drkns 2008-05-03 15:35:46+02:00 - build 480

1. Mantis#0000524: При использовании !?<title>?<init>! в диалог запроса параметров попадает мусор.

2. При обработке farmenu.ini byte order mark воспринимался как хоткей 1-го пункта меню.

3. Лишний realloc для DialogItemEx при формировании диалога для !?<title>?<init>!. Падало.

--------------------------------------------------------------------------------
drkns 2008-04-23 19:25:04+02:00 - build 479

1. Древний баг: если при перемещении диалога мышью резко увести её к краю экрана, то диалог до этого края не доедет.

--------------------------------------------------------------------------------
t-rex 2008-04-19 21:05:28+02:00 - build 478

1. Текст из клипборда, содержащий юниксовые окончания строк, пастился в редакторе как одна строка.

--------------------------------------------------------------------------------
drkns 2008-04-15 07:23:53+02:00 - build 477

1. Продолжение эпопеи о дополнительной клавиатуре и включенном по умолчанию TechInfo#48,
   теперь на тему AltShiftIns/AltShiftNum0 в панелях.

--------------------------------------------------------------------------------
drkns 2008-04-14 20:26:46+02:00 - build 476

1. При удалении общего макроса неправильно формировалось имя ключа в реестре,
   вследствие чего удаление макроса работало только в пределах текущей сессии.

2. При назначении макроса на клавишу, которой уже был сопоставлен общий макрос,
   запрашивалось подтверждение удаления общего макроса.

3. Продолжение 441: еще немного соответствия основных и дополнительных курсорных
   клавиш в диалоге результатов поиска, на этот раз home/end/pgup/pgdn.

4. Меню плагинов (F11) уничтожалось позже, чем нужно, вследствие чего оно могло
   отрисовываться и после вызова плагина.

5. Убрано шаманство с DN_EDITCHANGE во враппере - после 464 уже не актуально.

--------------------------------------------------------------------------------
drkns 2008-04-08 23:37:32+02:00 - build 475

1. "Юникодизация" strftime.

2. Mantis#0000506: Когда в данном режиме перемещаешься во второй понели по каталогам - Far часто перерисовывает панели

3. С форума: "Переход к найденному по Alt+F7 файлу не меняет заголовок"

4. Mantis#0000280: Move/Rename папки с заблокированным файлом.
   Самое смешное - в 1.70 beta 4 это так и работало.

5. Не работала макрофункция N=Menu.Select(S[,N]).

--------------------------------------------------------------------------------
t-rex 2008-04-05 23:00:28+02:00 - build 474

1. Ещё раз Mantis#395: Crash in UnicodeString::Format().

--------------------------------------------------------------------------------
svs 2008-04-03 01:30:26+03:00 - build 473

1. Macro: добавлены функции работы с закладками
     N=BM.Del([Idx])
       удаляет закладку с указанным индексом (1...),
       Idx=0 или параметр Idx не указан - удаляет текущую закладку
     N=BM.Get(Idx,M)
       возвращает параметры закладки с индексом (Idx=1...), Idx=0 - текущая закладка
       M=0 - координаты строки (начиная с 1)
       M=1 - координаты колонки (начиная с 1)
       M=2 - позиция, соответствующая первому видимому символу текста на экране слева
       M=3 - номер строки, соответствующей первой видимой строке текста на экране
     N=BM.Stat([M])
       возвращает информацию о закладках
       M=0 - текущее количество закладок
       На сейчас параметр роли не играет, можно указывать любое число или не указывать
       параметр совсем. Функция не обозвана как BM.Count так, как предполагается,
       что, если стековые букмарки распространить на вьювер или панели или... то может
       понадобится еще какая нибудь информация.

2. Кое-где, в классах верхнего уровня не передавались параметры vParam и iParam
   в функции VMProcess низлежащих классов.

--------------------------------------------------------------------------------
ts 2008-04-01 23:31:05+02:00 - build 472

1. Проверка на запись в ECTL_GETSTACKBOOKMARKS

2. Подготовка функций для макросов

--------------------------------------------------------------------------------
svs 2008-04-01 16:23:57+03:00 - build 471

1. Mantis#0000518: Search does not honor Hex mode

--------------------------------------------------------------------------------
svs 2008-03-31 12:31:56+03:00 - build 470

1. Mantis#0000517: перестал работать 'panel.SetPos'
   (from Denis Kosy)

--------------------------------------------------------------------------------
ts 2008-03-30 18:27:35+02:00 - build 469

1. Изменена навигация в начальной и конечной позициях.

2. Исправлен алгоритм добавления позиции навигации.

--------------------------------------------------------------------------------
ts 2008-03-30 14:20:08+02:00 - build 468

1. Теперь нельзя добавить две и более позиций навигации подряд на ту же позицию.

2. ECTL_STATSTACKBOOKMARK переименовано в ECTL_GETSTACKBOOKMARKS.

3. Закончено апи редактора управления позициями навигации: доработаны  комманды
   ECTL_DELETESTACKBOOKMARK (при Param равном -1 удаляет текущую позицию
   навигации, при 0 и более - позицию с указанным индексом) и
   ECTL_GETSTACKBOOKMARKS (Param указывает на заполняемую структуру
   EditorBookMarks или равен NULL, возвращает общее количество позиций).
   Описание всех комманд в Энц.

--------------------------------------------------------------------------------
zeroes 2008-03-29 18:33:17+02:00 - build 467

1. Не срабатывали некоторые макросы (например повешенный на CtrlLeft)
проблема была из-за того что использовался KEY_MASKF вместо KEY_FKEY_BEGIN

--------------------------------------------------------------------------------
ts 2008-03-29 17:21:57+02:00 - build 466

1. Добавлена коррекция позиций в стековых закладках при удалении и вставке строк.
   При удалении строки в позиции закладки происходит удаление этой закладки.

2. В апи редактора добавлены новые команды управления позициями навигации:
   ECTL_DELETESTACKBOOKMARK, ECTL_STATSTACKBOOKMARK для удаления указанной
   (пока что только текущей) закладки и получения информации о закладках
   (пока что заглушка).

--------------------------------------------------------------------------------
t-rex 2008-03-29 09:26:14+02:00 - build 465

1. Panel API: Флаги PFLAGS_PANELLEFT и PFLAGS_PANELRIGHT.

--------------------------------------------------------------------------------
t-rex 2008-03-28 13:10:48+02:00 - build 464

1. При GETDLGITEM возвращалась начальная а не текущая строка для эдитов.

2. От Alexey Samlyukov: В настройках неправильно читалось время для screen saver.

--------------------------------------------------------------------------------
svs 2008-03-27 18:03:22+03:00 - build 463

1. Macro: added new macro area "Consts" to store named constants.
   Constants should reside in the "KeyMacros\Consts" registry branch.
Syntax is similar to "Vars", e.g.
   Code:
   KeyMacros\Consts
     "StringName":REG_SZ
     "IntName":REG_DWORD
   Constants may have any name that begins with a letter...
   Such constants as "ShiftIns" cannot be created (although
"ShiftIns1" is syntactically a correct name)

   Here is a working example using FIB_PASSWORD constant.

   [HKEY_CURRENT_USER\Software\Far\KeyMacros\Consts]
   "FIB_PASSWORD"=dword:00000002
   [HKEY_CURRENT_USER\Software\Far\KeyMacros\Editor\CtrlP]
   "Sequence"="%s=prompt(\"Password\",\"Input password:
\",FIB_PASSWORD); $Text %s"
   "DisableOutput"=dword:00000001

   FAR reads constants upon startup and stores them in glbConstTable.
   Constants can be checked for existence with checkMacroConst()

2. Changes in varLook. Previously, it always added a variable, even
when ins = 0 was passed. Its error parameter is also removed; instead,
function returns a pointer or NULL. Because of this, some changes were
made to the macro execution.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: добавлена макрообласть "Consts" для хранения именованных констант.
   Константы располагать в ветке реестра "KeyMacros\Consts". Синтаксис аналогичен "Vars", т.е.
   Код:
   KeyMacros\Consts
     "StringName":REG_SZ
     "IntName":REG_DWORD
   Имена констант произвольные, начинающиеся с буквы...
   Константы аля "ShiftIns" не имеют право на жизнь (хотя "ShiftIns1" допустим для имени)

   Вот вполне работоспособный макрос с использование константы FIB_PASSWORD.

   [HKEY_CURRENT_USER\Software\Far\KeyMacros\Consts]
   "FIB_PASSWORD"=dword:00000002
   [HKEY_CURRENT_USER\Software\Far\KeyMacros\Editor\CtrlP]
   "Sequence"="%s=prompt(\"Password\",\"Input password:\",FIB_PASSWORD); $Text %s"
   "DisableOutput"=dword:00000001

   Константы ФАР считывает из реестра при старте и хранит в таблице glbConstTable
   Т.к. это константа, то ее наличие можно только проверить функцией checkMacroConst()

2. Переделаем функцию varLook. Было так, что она всегда добавляла переменную, даже если
   параметр ins = 0. В ней тек же удален параметр error. Вместо этого функция возвращает
   ссылку или NULL. В связи с этим переделки в макроисполняторе.

--------------------------------------------------------------------------------
drkns 2008-03-26 10:19:23+02:00 - build 462

1. Mantis#0000510: FarDialogEvent.Result type should be PLONG_PTR, not
LONG_PTR.
   Result remains LONG_PTR, but now contains the actual value, not a
pointer to it.
   I hope it wasn't used in any of the plugins...:)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000510: Тип FarDialogEvent.Result должен быть PLONG_PTR, а не LONG_PTR
   Result оставлен LONG_PTR, но теперь содержит само значение, а не указатель на него.
   Вроде бы ещё никто не успел использовать это в плагинах :)

--------------------------------------------------------------------------------
t-rex 2008-03-25 23:41:53+02:00 - build 461

1. Editor::GoToLine optimization, it was badly needed

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Оптимизация Editor::GoToLine ибо уж полный ужас был.

--------------------------------------------------------------------------------
t-rex 2008-03-25 21:25:42+02:00 - build 460

1. Mantis#499: Invalid file handle used in ShellCopy::ShellCopyFile().

2. Mantis#395: Crash in UnicodeString::Format().

3. Wild mix of spaces and tabs in panel.cpp.

4. From Denis Kosy Mantis#505: Strings weren't cut in some VMenu.

5. syntax.cpp: didn't build in VC8 (at least).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#499: Invalid file handle used in ShellCopy::ShellCopyFile().

2. Mantis#395: Crash in UnicodeString::Format().

3. Мешанина пробелов и табов в panel.cpp.

4. От Denis Kosy Mantis#505: Необрезание строк в некоторых VMenu.

5. syntax.cpp: не собирался (как минимум) в VC8.

--------------------------------------------------------------------------------
svs 2008-03-25 21:51:35+03:00 - build 459

1. Macro: added Editor.RealPos - current position in the editor
regardless of the tabulation size

2. Macro: function S=prompt("Title"[,"Prompt"[,flags[, "Src"[,
"History"]]]])
   Mantis#0000512: N = prompt(Title, Text, Flags)
   See description in the Encyclopedia

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: добавлен Editor.RealPos - текущая поз. в редакторе без привязки к размеру табуляции

2. Macro: функция S=prompt("Title"[,"Prompt"[,flags[, "Src"[, "History"]]]])
   Mantis#0000512: N = prompt(Title, Text, Flags)
   Описание в Энц.

--------------------------------------------------------------------------------
svs 2008-03-25 18:34:01+03:00 - build 458

1. Corrections in panel.SetPath and optional parameters

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнения в panel.SetPath и опциональных параметров

--------------------------------------------------------------------------------
svs 2008-03-25 16:54:07+03:00 - build 457

1. XXX::SetCurDir - function returns BOOL depending on the result

2. Macro: Added function -
N=panel.SetPath(panelType,pathName[,fileName])
   Sets pathName directory on the panel, optionally accepts file
object name (for cursor, like in panel.SetPos)

3. Macro engine updated to match the 1.7x functionality:
   a) added missing functions and operators
       N=Menu.Select(S[,N])
       N=mod(a,b) == a %  b
       S=replace(sS,sF,sR[,Count])

   b) operation precedence set:

       Unary (R->L):          !  ~  -
       Binary arithmetical: * /
       Binary arithmetical: + -
       Shift:                   << >>
       Comparison:               < <= > >=
       Comparison:               == !=
       Bitwise:                 &
       Bitwise:                 ^
       Bitwise:                 |
       Logical:              &&
       Logical:              ||

4. Some macro functions accept optional parameters
     S=itoa(N[,radix]) - if radix is not provided, 10 assumed
     N=Menu.Select(S[,N]) - N assumed to be 0
     N=panel.SetPath(panelType,pathName[,fileName]) - empty string
here
     S=replace(Str,Find,Replace[,Cnt]) - Cnt=0 => infinite
     S=substr(S,N1[,N2]) - to the end of a string
     + msgbox - last parameter (flags) may be skipped, 0 assumed

   For this purpose, oParam parameter is added to the __TMacroFunction
structure.
   In the interface, parameters can be skipped, they are filled in by
PushInt(0) in the code

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. XXX::SetCurDir - функция возвращает BOOL - удачно или неудачно сделан переход

2. Macro: Добавилась функция -  N=panel.SetPath(panelType,pathName[,fileName])
   установить на панели каталог pathName, опционально можно указать имя файлового объекта (для курсора, как в panel.SetPos)

3. Макродвижок приведен к функционалу 1.7x:
   a) добавлены недостающие функции и операторы
       N=Menu.Select(S[,N])
       N=mod(a,b) == a %  b
       S=replace(sS,sF,sR[,Count])

   б) выставлена приоритизация операций:

       Унарные (R->L):          !  ~  -
       Бинарные арифметические: * /
       Бинарные арифметические: + -
       Сдвиг:                   << >>
       Сравнение:               < <= > >=
       Сравнение:               == !=
       Битовая:                 &
       Битовая:                 ^
       Битовая:                 |
       Логическая:              &&
       Логическая:              ||

4. Некоторые макро-функции могут иметь опциональные параметры
     S=itoa(N[,radix]) - здесь, если radix не указан, подразумевается 10
     N=Menu.Select(S[,N]) - здесь N подразумевается = 0
     N=panel.SetPath(panelType,pathName[,fileName]) - здесб пустая строка
     S=replace(Str,Find,Replace[,Cnt]) - Cnt=0 => до бесконечности
     S=substr(S,N1[,N2]) - до конца строки
     + msgbox - последний параметр (флаги) могут быть опущены, подразумевается 0

   Для этого в структуре __TMacroFunction добавлен параметр oParam.
   В интерфейсе параметры можно опускать, в коде они добиваются PushInt(0)

--------------------------------------------------------------------------------
drkns 2008-03-25 07:15:18+02:00 - build 456

1. Mantis#0000004: DI_EDIT in Message for fields containing file
names.
   Message now works smarter: if a string is too long to fit, it is
being but into DI_EDIT, otherwise the old behavior is retained.
   This allowed for removal of TruncPathStr when Message is called.

2. Mantis#0000080: Moving of a symbolic link to another disk.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000004: DI_EDIT в Message для полей с именами файлов.
   Message теперь "умный": если строка длиннее, чем влезает - она кладётся в DI_EDIT, иначе - как раньше.
   Соотвественно, при вызовах Message убраны TruncPathStr.

2. Mantis#0000080: Перемещение символической связи на другой диск.

--------------------------------------------------------------------------------
zg 2008-03-25 02:15:01+02:00 - build 455

1. With TabSize=1, ShiftTab at the beginning of the string resulted in
a negative value for the current column.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. при TabSize=1 ShiftTab вначале строки приводил к отрицательной текущей колонке.

--------------------------------------------------------------------------------
t-rex 2008-03-22 21:33:34+02:00 - build 454

1. DM_LISTINSERT didn't return a value as described in the
Encyclopedia

2. Some fixes to prevent potential bugs.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. DM_LISTINSERT возвращал не то что в енц. описано.

2. Ещё заметил один глюк и потенциальный глюк рядом.

--------------------------------------------------------------------------------
svs 2008-03-20 18:22:21+03:00 - build 453

1. Added Disable color for the previous build, and menu items in color
settings were renamed
   Now the FAR's palette size = 0x7F bytes

2. In History/Combobox, arrows were displayed using the menu color;
added VMENU_COMBOBOX flag

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Добавлен Disable цвет для пред. билда и изменены наименования пунктов меню в настройке цвета
   Итого размер палитры ФАРа = 0x7F байт

2. В History/Combobox стрелки отображались цветом меню - добавим флаг VMENU_COMBOBOX

--------------------------------------------------------------------------------
svs 2008-03-17 20:23:22+03:00 - build 452

1. Mantis#0000498 - Screen scrolling arrows colors for Menu/Listbox/
Combobox
   The following colors added for arrows:
     COL_DIALOGLISTARROWS,
     COL_DIALOGLISTARROWSSELECTED,
     COL_DIALOGCOMBOARROWS,
     COL_DIALOGCOMBOARROWSSELECTED,
     COL_WARNDIALOGLISTARROWS,
     COL_WARNDIALOGLISTARROWSSELECTED,
     COL_WARNDIALOGCOMBOARROWS,
     COL_WARNDIALOGCOMBOARROWSSELECTED,
     COL_MENUARROWS,
     COL_MENUARROWSSELECTED,

2. Final fixes for '>' - removed redundant code that counted length of
a new string, and added some optimizations.

3. Macros depended on a keyboard layout

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000498 - Screen scrolling arrows colors for Menu/Listbox/Combobox
   Добавлены цвета, связанные со стрелками:
     COL_DIALOGLISTARROWS,
     COL_DIALOGLISTARROWSSELECTED,
     COL_DIALOGCOMBOARROWS,
     COL_DIALOGCOMBOARROWSSELECTED,
     COL_WARNDIALOGLISTARROWS,
     COL_WARNDIALOGLISTARROWSSELECTED,
     COL_WARNDIALOGCOMBOARROWS,
     COL_WARNDIALOGCOMBOARROWSSELECTED,
     COL_MENUARROWS,
     COL_MENUARROWSSELECTED,

2. Добьем '>' - выкинут лишний кусок по расчету новой длины строки, немного оптимизации.

3. Макросы зависили от раскладки клавиатуры

--------------------------------------------------------------------------------
drkns 2008-03-17 07:36:28+02:00 - build 451

1. Correction for drawing '>' when scrolling VMenu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Уточнение в отрисовке '>' при прокрутке строк VMenu.

--------------------------------------------------------------------------------
t-rex 2008-03-16 23:39:26+02:00 - build 450

From Denis Kosy:

1. Mantis#497: Strings with file masks are being cut at position
60/78.
   Because scrolling mode is now always enabled (ex-CtrlN), string
doesn't need to be cut anymore

· · · · · · · · · · · · · · · · · · · · · · · · ·

От Denis Kosy:

1. Mantis#497: Строки с масками файлов обрезаются на 60/78 символах.
   Поскольку теперь постоянно включен режим прокрутки (ex-CtrlN), строку уже можно не резать.

--------------------------------------------------------------------------------
t-rex 2008-03-15 19:49:48+02:00 - build 449

From Alexey Samlyukov:

1. math error when drawing '>' (for long strings in menu items).

· · · · · · · · · · · · · · · · · · · · · · · · ·

От Alexey Samlyukov:

1. Ошибка в математике при отрисовке '>' (для длинных пунктов) в меню.

--------------------------------------------------------------------------------
t-rex 2008-03-15 17:47:09+02:00 - build 448

1. Mantis#87: Copying and hard links.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#87: Копирование и жёсткие связи.

--------------------------------------------------------------------------------
svs 2008-03-15 17:48:39+03:00 - build 447

1. Ctrl-N removed for lists (http://forum.farmanager.com/viewtopic.php?
f=3&t=3130)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ctrl-N в списках убираем (http://forum.farmanager.com/viewtopic.php?f=3&t=3130)

--------------------------------------------------------------------------------
drkns 2008-03-15 15:53:04+02:00 - build 446

1. Mantis#0000222: Incorrect processing of data streams tied to
directories.
   Streams themselves didn't cause any problems, but processing paths
like "\\?\c:\" and "\\?\Volume{GUID}\" did.
   A couple of fixes in the code where such paths were used.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000222: Не вполне корректная работа (или не работа) с потоками, привязанным к директориям.
   Тут потоки в общем не при чём, дело в обработке путей "\\?\c:\" и "\\?\Volume{GUID}\".
   Заодно поправил еще пару мест c этими путями.

--------------------------------------------------------------------------------
t-rex 2008-03-15 13:41:32+02:00 - build 445

1. Mantis#467: Cannot switch to a plugin panel; incorrect panel
elements.
   Fixed, but cannot understand anything :)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#467: Не пускает на плагинную панель; неправильные элемены панели.
   Исправил, но нифига не понимаю :)

--------------------------------------------------------------------------------
t-rex 2008-03-14 19:16:30+02:00 - build 666-666/3

1. Mantis#458: From the folder history, plugin having 1-letter prefix
is run

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#458: Из истории папок запускается плагин с 1-буквенным префиксом.

--------------------------------------------------------------------------------
t-rex 2008-03-14 17:23:28+02:00 - build 443

1. Mantis#463: Current process folder is not updated from the user
menu, and it doesn't correspond to the active panel.
   First, user menu switched folders on its own account, although that
was not needed; second, a redundant AI was restoring the path. I
simply removed everything like that.

2. From Denis Kosy: Mantis#493: Execute broken.

3. From Alexey Samlyukov: "" -> L"" in hilight.cpp.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#463: Текущая папка процесса не меняется из юзер меню и отличается от активной панели.
   Во первых юзер меню сам переходил по папкам хотя это там нафиг не надо было,
   а во вторых был совершенно не нужный AI с восстановлением пути.
   Просто всё удалил (и ещё мусор который под руку попался).

2. От Denis Kosy: Mantis#493: Execute поломалась.

3. От Alexey Samlyukov: "" -> L"" в hilight.cpp.

--------------------------------------------------------------------------------
svs 2008-03-14 00:18:12+03:00 - build 442

1. Bug in UserMenu.
   a) UserMenu is empty.
      - F2
      - AltF4
      - paste from clipboard in the editor, or add manually
      - F2
      - Esc
      Menu is still empty
   b) UserMenu is not empty.
      - F2
      - AltF4
      - input "incorrect Unicode" in the editor
   Solution.
   When UserMenu is opened, in the built-in editor we set Unicode as
the current code page, without any autodetection.

2. If a TTF font is set for the console, symbols that point to a
submenu in UserMenu are displayed as empty squares.
   usermenu.cpp::SubMenuSymbol[1] ==> Unicode symbol 0x25BA.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Bug в UserMenu.
   а) UserMenu пустое.
      - F2
      - AltF4
      - в редакторе вставляем из клипборда/набираем пункты руками.
      - F2
      - Esc
      Меню по прежнему пустое
   б) В UserMenu есть пункты.
      - F2
      - AltF4
      - в редакторе видим аля "неправильный юникод"
   Решение.
   При открытии UserMenu во встроенном редакторе в качестве кодовой страницы
   выставляем принудительно Unicode и никакого автоопределения.

2. При выставленном TTF-шрифте для консоли симолы указывающие на подменю в UserMenu
   представлены квадратами.
   usermenu.cpp::SubMenuSymbol[1] ==> Unicode символ 0x25BA.

--------------------------------------------------------------------------------
drkns 2008-03-13 19:18:08+02:00 - build 441

1. Mantis#0000462: !=\ changed behavior
2. Mantis#0000469: Incorrect message "Filename length exceeds system
limitations"

3. Buffer overflow in ConvertNameToReal()

4. Macro: in [panel.]fattr|fexist, * and ? weren't substituted.

5. In UserMenu, MainMenu and in the Search window, arrow keys on the
main and numpad keyboard behaved differently.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000462: !=\ изменила поведение

2. Mantis#0000469: Ошибочное сообщение "Длина имени файла превышает системные ограничения"

3. Переполнение буфера в ConvertNameToReal()

4. Macro: в [panel.]fattr|fexist не работала подстановка * и ?.

5. В UserMenu, MainMenu и окне поиска по-разному вели себя курсорные клавиши на основной и доп. клавиатуре.

--------------------------------------------------------------------------------
t-rex 2008-03-13 15:00:43+02:00 - build 440

From Denis Kosy:

1. Mantis#492: FindFile results window is losing data.

· · · · · · · · · · · · · · · · · · · · · · · · ·

От Denis Kosy:

1. Mantis#492: FindFile results window теряет информацию.

--------------------------------------------------------------------------------
svs 2008-03-13 14:20:19+03:00 - build 439

1. From Denis Kosy: Mantis#0000491: macro panel.fexist doesn't work.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. От Denis Kosy: Mantis#0000491: макро panel.fexist не работает.

--------------------------------------------------------------------------------
t-rex 2008-03-12 23:55:03+02:00 - build 438

1. From Alexey Samlyukov: wrapper: Unlike in 1.7.x, FarInputBoxA was
setting DestText even if a dialog was canceled.

2. Copying (and similar operations) didn't work with plugins that have
OPIF_REALNAMES set (e.g. TmpPanel).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. От Alexey Samlyukov: wrapper: FarInputBoxA в отличии от 1.7х выставлял DestText даже если отменили диалог.

2. Не работало копирование (и т.п. операции) в плагины c выставленным OPIF_REALNAMES (TmpPanel например).

--------------------------------------------------------------------------------
t-rex 2008-03-12 15:24:39+02:00 - build 437

From Andrey Kuznetsov:

1. Mantis#459: Cannot chdir to a directory when its name consists of a
single letter.
   Win2K-SP4/specific bug.

· · · · · · · · · · · · · · · · · · · · · · · · ·

От Andrey Kuznetsov:

1. Mantis#459: Невозможно войти в каталог, если имя состоит из одной буквы.
   Специфичный баг Win2K SP4.

--------------------------------------------------------------------------------
svs 2008-03-12 14:24:00+03:00 - build 436

1. When pressing Reset in the filters dialog, '&' symbol appears in
the 'size' and 'date' comboboxes.
   Added Edit::SetHiString(), similar to HiText2Str.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В диалоге фильтров нажать Reset - в комбобоксах размера и даты видим символ '&'
   Введем Edit::SetHiString(), аналог HiText2Str.

--------------------------------------------------------------------------------
t-rex 2008-03-12 11:28:17+02:00 - build 435

1. Mantis#489: Crash in ConvertPanelItemA()
   pItemsNumber sent to a plugin in GetFindData wasn't reset; also,
some plugins (network) return TRUE without setting anything (empty
folder).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#489: Crash in ConvertPanelItemA()
   pItemsNumber посланый плагину в GetFindData не обнулялся а некоторые
   плагины (network) возвращают TRUE ничего не выставив (типа пустая папка).

--------------------------------------------------------------------------------
svs 2008-03-12 11:42:45+03:00 - build 434

1. After 431, navigation through highlighting in the FileFilterConfig
dialog was broken

2. When a filter/highlighting/sorting dialog is invoked, and ColorConfig's
second parameter is true,
   then the dialog title is changed and the corresponding help topic
is substituted, describing highlighting, not the filtering.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. После 431 "сломалась" навигация по раскраске в диалоге FileFilterConfig

2. Если в при вызове диалога фильтра/раскраски/сортировки второй параметр ColorConfig равен true
   то меняем заголовок диалога и подставляем нужный топик хелпа, относящийся не к фильтрам, а к раскраске.

--------------------------------------------------------------------------------
t-rex 2008-03-12 00:36:38+02:00 - build 433

1. Extending UnicodeString:
   bool Pos(size_t &nPos, wchar_t Ch, size_t nStartPos=0)
   bool Pos(size_t &nPos, const wchar_t *lpwszFind, size_t
nStartPos=0)
   bool RPos(size_t &nPos, wchar_t Ch, size_t nStartPos=0)
   bool Contains(wchar_t Ch, size_t nStartPos=0)
   bool Contains(const wchar_t *lpwszFind, size_t nStartPos=0)

2. Set "const" for another couple of methods in UnicodeString.

3. Introduced new Pos in one place; other minor changes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Расширяем UnicodeString:
   bool Pos(size_t &nPos, wchar_t Ch, size_t nStartPos=0)
   bool Pos(size_t &nPos, const wchar_t *lpwszFind, size_t nStartPos=0)
   bool RPos(size_t &nPos, wchar_t Ch, size_t nStartPos=0)
   bool Contains(wchar_t Ch, size_t nStartPos=0)
   bool Contains(const wchar_t *lpwszFind, size_t nStartPos=0)

2. Выставил const для ещё пару методов в UnicodeString.

3. Заюзал новый Pos в одном месте и ещё пару мелочей.

--------------------------------------------------------------------------------
t-rex 2008-03-11 22:51:56+02:00 - build 432

1. Small optimization of HiText2Str().

--------------------------------------------------------------------------------
svs 2008-03-11 21:01:02+03:00 - build 431

1. Macro: calling key is inherited from the main macro when eval() is
called
   To support this, KeyMacro::PostNewMacro() got a new parameter -
calling key.
   e.g. ('y' is the key),
     y=eval("< $AKey >")
   now prints "<y>" (was '<>')

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

3. Macro: Bug: if a macro sequence has only 1 "key" that differs from
those being typed on a keyboard (e.g. $AKey), such a macro won't do
anything (or, more precisely, can do virtually anything
unpredictable). This is a regression from previous efforts aimed at
reducing memory usage
   (it was implemented the way that when there's only one key, the
memory is not allocated, and Buffer is computed not as a reference
to an array of DWORDs, but as a DWORD value).

4. Dialog: bug: when hotkeys are used in comboboxes, '&' symbol
appears in the edit string as well.

5. Filters: at the end of filefilterparams.cpp::MenuString() trailing
spaces are truncated

6. API: added flags: FMENU_TRUNCPATH, FMENU_TRUNCSTR,
FMENU_TRUNCSTREND.
   These provide information on how to truncate the menu item when
drawing it on the screen. The original menu item text is not changed.

7. In any object based on VMenu, the following hotkeys exist:
     Ctr-N - enable/disable visual truncating of items in lists
     Alt-Home/Alt-End - scroll list items horizontally, to the start/
end
     Alt-Left/Alt-Right - scroll list items horizontally by 1 symbol
     Alt-Shift-Left/Alt-Shift-Right - scroll a current list item
horizontally by 1 symbol left/right

    TODO: NO FINAL DECISION ON Ctrl-N YET!!!

8. Mantis#0000264: Fixes in the edit color group dialog
    1. tab-order changed
    2. added hot keys for Size and Data/Time comboboxes.

9. Added functions
     wchar_t* WINAPI TruncStrFromEnd(wchar_t *Str,int MaxLength)
      (similar to TruncStr and TruncPathStr)
   and
     string& HiText2Str(string& strDest, const wchar_t *Str)
      (similar to HiText(), but outputs to a string)

10. Looks like LIF_USETEXTPTR should be abandoned earlier and not
inherited from 1.7x branch

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: клавиша вызова наследуется из основного макроса при вызове eval()
   для этого у функции KeyMacro::PostNewMacro() добавлен новый параметр - клавиша вызова.
   например ('y' - клавиша назначения),
     y=eval("< $AKey >")
   теперь печатает "<y>" (было '<>')

2. Macro: V=akey(N) - функция возвращает имя или код клавиши, инициировавшей макрос.

3. Macro: Bug: если в макропоследовательности есть только 1 "клавиша", отличная от набираемых на клавиатуре
   (например, $AKey), то такой макрос ничего не делает (точнее может делать все, что угодно).
   Это остатки (недопеределки) предыдущих изысканий из области сокращения объемов памяти
   (было - если клавиша одна, то память не выделяется, а Buffer считается не как указатель на массив DWORD`ов,
   а как значение DWORD).

4. Dialog: bug: когда в комбобоксах применяются хоткеи, в строку редактирования символ '&' тоже попадает.

5. Фильтры: в конце filefilterparams.cpp::MenuString() сделаем обрезание концевых пробелов.

6. API: добавлены флаги: FMENU_TRUNCPATH, FMENU_TRUNCSTR, FMENU_TRUNCSTREND.
   Показывают как нужно обрезать выводимый на экран пункт меню. Оригинальный текст пункта не изменяется.

7. В любом объекте, основанном на VMenu действуют клавиши
     Ctr-N - включить/выключить режим обрезания выводимых элементов списка
     Alt-Home/Alt-End - прокрутка всех элементов списка по горизонтали в начало/конец
     Alt-Left/Alt-Right - прокрутка всех элементов списка по горизонтали влево/вправо на 1 символ
     Alt-Shift-Left/Alt-Shift-Right - прокрутка текущего элемента списка по горизонтали влево/вправо на 1 символ

    TODO: ОТКРЫТЫЙ ВОПРОС ПРО Ctrl-N !!!

8. Mantis#0000264: Недочёты диалога редактирования группы раскраски
    1. изменен tab-ордер задаваемых цветов
    2. добавлены горячие клавиши в комбобоксах Size и Data/Time.

9. Добавлены функции
     wchar_t* WINAPI TruncStrFromEnd(wchar_t *Str,int MaxLength)
      (по аналогии с TruncStr и TruncPathStr)
   и
     string& HiText2Str(string& strDest, const wchar_t *Str)
      (аналог HiText(), но вывод в строку)

10. Возможно с LIF_USETEXTPTR перебор вышел...
    возможно этот флаг ненужно было тянуть из 1.7x

--------------------------------------------------------------------------------
t-rex 2008-03-11 11:17:36+02:00 - build 430

1. Mantis#488: Crash in GetRegKey()
   incorrect call from PrepareTable().

2. Mantis#468: When QuickView is closed for folders, VE_CLOSE is
called (without VE_READ)
   This means two bugs:
   1. qview should not even create a viewer instance when viewing a
folder
   2. destructor sends VE_CLOSE however no file was opened

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#488: Crash in GetRegKey()
   в общем просто неправельный вызов из PrepareTable().

2. Mantis#468: Закрытие быстрого просмотра папок вызывает VE_CLOSE (без VE_READ)
   Тут типа 2 бага:
   1. То что qview вообще создаёт объект въювера при просмотре папки.
   2. То что в деструкторе посылается VE_CLOSE хотя никакого файла открыто не было.

--------------------------------------------------------------------------------
t-rex 2008-03-10 22:39:06+02:00 - build 429

1. Mantis#487: Memory under FAR_FIND_DATA is removed twice
   Turned out to be even worse: FAR freed the plugin's memory and
provided its own memory instead

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#487: Memory under FAR_FIND_DATA is removed twice
   Тока там всё хуже было, фар нагло освобождал плагиновую память и свою подсовывал.

--------------------------------------------------------------------------------
t-rex 2008-03-10 21:47:59+02:00 - build 428

1. From Alexey Samlyukov: Mantis#486: Bug in
Dialog::ProcessLastHistory - value from history wasn't substituted.

2. In connection with 1st, one more bug is found in UnicodeString that
possibly allowed reading of unavailable memory when
   str = (const wchar_t *)str;
   str += str;

3. Some tab-formatting.

4. "readme" updated a bit.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. От Alexey Samlyukov: Mantis#486: Баг в Dialog::ProcessLastHistory - не подставлялось значение из истории.

2. В связи с 1 нашелся ещё баг в UnicodeString, если в кратце то возможное чтение из недоступной памяти при
   str = (const wchar_t *)str;
   str += str;

3. Заодно ещё немного форматирования табами.

4. Обновил немного "readme".

--------------------------------------------------------------------------------
t-rex 2008-03-09 23:11:42+02:00 - build 427

from Alexander Mitin

1. Mantis#484: Memory corruption in GetPathRootOne().

--------------------------------------------------------------------------------
t-rex 2008-03-09 14:35:11+02:00 - build 426

1. All plugins were loaded even when this was not at all necessary.
For example, Colorer was loaded when viewer, dialogs, or archives were
opened :)

2. Plugin's cache was read from the first entry only, which could
prevent plugins from loading until they are called from the plugin
menu, or not load at all (especially with bugfix #1 above).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Грузились все плагины подряд даже когда не надо.
   К примеру колорер загружался при открытии въювера, диалогов и архивов :)

2. Кэш всех плагинов читался тока из первой записи кэша из за чего плагины
   могли тупо не грузится пока их не вызвать из меню плагинов, а в некоторых
   случаях не грузится вообще (особенно с фиксом 1 :).

--------------------------------------------------------------------------------
drkns 2008-03-09 12:28:26+02:00 - build 425

1. Miracles and wonders: wcsncat(dst,src,sizeof(dst)-1)
   JFYI: 3rd parameter in wcsncat means "how many we add", not "how
many we can fit".
   In all similar places, wcsncat was changed to xwcsncat, where the
3rd parameter is "(the size of the recipient) - 1"

2. When closing a combobox previously opened by Alt-Hotkey, it
received DN_EDITCHANGE with parameters of the previously focused
element.

3. Mouse events didn't come to an open combobox.

4. Small bug in the macro definition dialog

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Обнаружены чудеса: wcsncat(dst,src,sizeof(dst)-1)
   На всякий случай: 3-й параметр в wcsncat - это "сколько дописываем", а не "сколько влезает".
   Во всех подобных местах wcsncat заменена на xwcsncat, где 3-й параметр уже таки размер приёмника-1.

2. Комбобокс, открытый по Alt-Hotkey, при закрытии получал DN_EDITCHANGE
   с параметрами предыдущего фокусного элемента.

3. В открытый комбобокс не приходили события от мыши.

4. Мелкий баг в диалоге задания макрокоманды.

--------------------------------------------------------------------------------
t-rex 2008-03-09 12:23:43+02:00

1. Hotkey conflicts in the filter dialog (eng).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Конфликты хоткеев в диалоге фильтров (анг).

--------------------------------------------------------------------------------
t-rex 2008-03-09 11:38:53+02:00 - build 424

From Dmitry Ovdienko:

1. Mantis#483: Undefined behavior in Search window.

--------------------------------------------------------------------------------
t-rex 2008-03-08 19:21:05+02:00 - build 423

From Alexey Samlyukov:

1. Mantis#439: Cancel after Ctrl+G should not update the panels.

--------------------------------------------------------------------------------
t-rex 2008-03-08 15:51:50+02:00 - build 422

From George Yohng:
1. Mantis#475: Panel header was displayed in CAPS even when the
directory doesn't use caps.

· · · · · · · · · · · · · · · · · · · · · · · · ·

От George Yohng:
1. Mantis#475: Отображение заголовка панели ЗАГЛАВНЫМИ буквами даже когда директорий не заглавный.

--------------------------------------------------------------------------------
warp 2008-03-02 17:50:00+03:00 - build 421

1. Fixed displaying of plugins in the Disks menu... just for fun :-)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Так, постебаться. Исправил недопоказ плагинов в меню дисков.

--------------------------------------------------------------------------------
t-rex 2008-02-25 01:28:29+02:00 - build 420

From Stanislav Vinokurov:

1. Mantis#436: PrepareExecuteModule() bug(s)

--------------------------------------------------------------------------------
zg 2008-02-20 19:27:59+02:00 - build 419

1. hotplug devices list. visual glitches when removing several devices
simultaneously

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. hotplug devices list. при удалении подряд нескольких устройств - визуальные глюки.

--------------------------------------------------------------------------------
drkns 2008-02-12 22:41:34+02:00 - build 418

1. Mantis#0000464: When pressing F10 F1 in panels, "Requested help
topic not found:" appeared

2. ExitFAR wasn't called for plugins when exiting

3. Small fix when drawing an opened combobox

4. Minor fixes in the wrapper.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000464: В панелях F10 F1... появляется "Requested help topic not found:"

2. Для плагинов не вызывался ExitFAR при выходе.

3. Уточение в отрисовке открытого комбобокса.

4. Мелкие правки во враппере.

--------------------------------------------------------------------------------
svs 2008-01-30 01:38:39+03:00 - build 417

1. In headers.hpp, "#include <crtdbg.h>" was commented out. If anybody
needs that, put "#if" depending on your compiler. At least on my
machine, MSVC compiles without this.

2. Mantis#0000460: Add support of FILE_ATTRIBUTE_VIRTUAL
   The patch is temporary accepted.
   Why temporary? Because filter's dialog doesn't fit into 25 lines.
Redesign is necessary, but it is another separate task.

3. Bookmarks in editor moved to macros:
     N=BM.Add()
     N=BM.Clear()
     N=BM.Next()
     N=BM.Prev()
     N=BM.Stat()
   Note that...
   a) math in "BM.Stat()" needs redesign (something like
StatStackBookmark())
   b) "BM.XXX" can be something other than "editor" :-)

4. In F10 F1... panels, "Requested help topic not found:" is
displayed. Who did that? :-)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В headers.hpp закомменчен "#include <crtdbg.h>" - кому надо - ставьте "#if"
   в зависимости от компилятора. MSVC (по крайней мере у меня) и без этого
   компилит.

2. Mantis#0000460: Add support of FILE_ATTRIBUTE_VIRTUAL
   "временно" патч принимается.
   "временно" - потому, что диалог фильтра не вмещается в 25 строк.
   нужен редизайн диалога фильтра - это отдельная песня.

3. Букмарки в редакторе... перенесены в макросы:
     N=BM.Add()
     N=BM.Clear()
     N=BM.Next()
     N=BM.Prev()
     N=BM.Stat()
   Причем...
   а) нужно доработать математику "BM.Stat()" (что-то типа StatStackBookmark())
   б) "BM.XXX" в принципе может быть не только "редактор" :-)
   d) Хмм... индикацию, опять же... стекового букмарка...

4. Хмм... трабла? откуда?
   В панелях F10 F1... появляется "Requested help topic not found:"
   Таки Хто?

--------------------------------------------------------------------------------
Zuz 2008-01-25 23:11:21+05:00 - build 416

1. Mantis#000337, Mantis#0000176 refix
2. Double refresh of panel after CTRL-Z.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#000337, Mantis#0000176 refix
2. Двойное обновление панели после CTRL-Z.

--------------------------------------------------------------------------------
ts 2008-01-23 15:32:27+02:00 - build 415

1. Added a-la browser navigation in editor: Ctrl-<Gray Enter> saved
the position, Ctrl-<Gray -> and Ctrl-<Gray +> jump to a next or
previous position, respectively.
2. Commands to control the navigation bookmarks added to editor's API:
ECTL_ADDSTACKBOOKMARK,
   ECTL_PREVSTACKBOOKMARK, ECTL_NEXTSTACKBOOKMARK,
ECTL_CLEARSTACKBOOKMARKS. They are, in the same order: adding a new
nav position, jump to a previous position, jump to a next position,
and cleanup of the bookmarks.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Добавлена поддержка навигации а-ля браузер в редакторе: Ctrl-<Gray Enter> сохраняет
   позицию навигации, Ctrl-<Gray -> и Ctrl-<Gray +> переход на следующую и предыдущую
   позиции навигации.
2. В апи редактора добавлены команды управления позициями навигации: ECTL_ADDSTACKBOOKMARK,
   ECTL_PREVSTACKBOOKMARK, ECTL_NEXTSTACKBOOKMARK, ECTL_CLEARSTACKBOOKMARKS для добавления
   позиции навигации, переход к предыдущей, следующей позициям навигации и очистка списка
   навигаций.

--------------------------------------------------------------------------------
drkns 2008-01-18 23:48:39+02:00 - build 414

1. Wrapper:
   - Changed the way to store and convert into each other the
structure arrays FarDialogItem and oldfar::FarDialogItem. Now
DM_GETDLGITEM and other messages that pass FarDialogItem are
(hopefully) processed without errors and leaks.

   - Added SetFileApisToOEM(); to EXECUTE_FUNCTION/EXECUTE_FUNCTION_EX
macros (pluginA.cpp)

   - added a "compatibility mode" - a possibility to set the FAR
version being returned in
     ACTL_GETFARVERSION - it turned out that some plugins don't
understand that 1.80 > 1.70 :-)
     It is taken from \software\far18\wrapper\version, REG_DWORD,
format is the same as in MAKEFARVERSION.
     Only decrement is supported, from the actual version to 1.70.1.

2. Interface language was switched back to English sometimes.

3. Correction in plugin.hpp.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Враппер:
   - Изменена логика хранения массивов структур FarDialogItem и oldfar::FarDialogItem,
     а также конветрирования одного в другой. Теперь (по идее) корректно и без утечек
     обрабатываются DM_GETDLGITEM и прочие сообщения, передающие плагину FarDialogItem.

   - в макросы EXECUTE_FUNCTION/EXECUTE_FUNCTION_EX (pluginA.cpp) добавлена SetFileApisToOEM();

   - добавлен "режим совместимости" - возможность задать версию FAR, возвращаемую в
     ACTL_GETFARVERSION - как оказалось, не все плагины понимают, что 1.80 > 1.70 :-)
     Берётся из \software\far18\wrapper\version, REG_DWORD, формат - как в MAKEFARVERSION.
     Скручивать можно только в меньшую сторону, от текущей версии до 1.70.1.

2. Язык интерфейса периодически сбрасывался на английский.

3. Уточнение в plugin.hpp.

--------------------------------------------------------------------------------
drkns 2008-01-15 19:50:26+02:00 - build 413

1. Wrapper:
   - corrections in DM_LISTGETCURPOS and DM_GETSELECTION;
   - MB_USEGLYPHCHARS wasn't needed in some places;
   - other small fixes

2. In DialogItemEx, not all fields were initialized (in 1.7x this was
done by memset),
   which could have caused crashes under certain circumstances.

3. A redundant increment of line counter in editor when a new string
is pasted.

4. gcc warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Враппер:
   - уточнения в DM_LISTGETCURPOS и DM_GETSELECTION;
   - MB_USEGLYPHCHARS был нужен не везде;
   - прочие мелкие правки.

2. В DialogItemEx инициализировались не все поля (в 1.7x это делал memset),
   что при определенных обстоятельствах было чревато падениями.

3. Лишний инкремент количества строк в редакторе при вставке новой строки.

4. gcc warnings.

--------------------------------------------------------------------------------
svs 2008-01-15 14:44:11+03:00 - build 412

1. Mantis#0000425: Add support of FILE_ATTRIBUTE_OFFLINE attribute

2. Added FILE_ATTRIBUTE_VIRTUAL
   For presentation purposes only. If needed, should be implemented
similarly to FILE_ATTRIBUTE_OFFLINE...
   ..something like ID_FF_VIRTUAL etc...
   ...if anyone can explain how that can be SEEN!

3. Small additions to syslog.cpp
   + IO_REPARSE_TAG_* in headers.hpp

4. Hotkeys didn't work with Russian input language (but they do work
with Alt).
   See Dialog::IsKeyHighlighted()

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000425: Add support of FILE_ATTRIBUTE_OFFLINE attribute

2. Добавлен FILE_ATTRIBUTE_VIRTUAL
   Пока что для отображения. Если "нада" - делать изменения по аналогии c FILE_ATTRIBUTE_OFFLINE...
   ..типа ID_FF_VIRTUAL и еже с ним...
   ...если кто объяснит как ЭТО УВИДЕТЬ!

3. Немного добавок в syslog.cpp
   + IO_REPARSE_TAG_* в headers.hpp

4. Не работают хоткеи при русской раскладке (с альтом работают).
   See Dialog::IsKeyHighlighted()

--------------------------------------------------------------------------------
drkns 2008-01-14 19:43:11+02:00 - build 411

1. Wrapper:
   - from Tim Sobolev: DI_USERCONTROL is processed correctly;
   - several open dialogs are processed more correctly;
   - DM_LISTDELETE didn't work;
   - when converting from OEM to Unicode, MB_USEGLYPHCHARS flag is
used.
   - other small fixes

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Враппер:
   - от Tim Sobolev: правильная обработка DI_USERCONTROL;
   - более корректная обработка нескольких одновременно открытых диалогов;
   - не работал DM_LISTDELETE;
   - при преобразовании OEM->Unicode используется флаг MB_USEGLYPHCHARS.
   - прочие мелкие правки.

--------------------------------------------------------------------------------
Zuz 2008-01-12 01:52:26+05:00 - build 410

1. More liberal requirements for access rights (Mantis#0000453).

2. In FindFiles::LookForString, libc API for file operations changed
to WIN32 API.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё немного снижены требования к правам (Mantis#0000453).

2. В FindFiles::LookForString замена libc API для файловых операций на WIN32 API.

--------------------------------------------------------------------------------
drkns 2008-01-11 11:12:03+02:00 - build 409

1. Wrapper:
   - added ConvertNameToRealA.
   - corrections in ConvertKeyBarTitlesA, FarMenuFnA and
FCTL_GET[ANOTHER]PANEL[SHORT]INFO.
   - DN_* -> oldfar:DN_.
2. QuickView didn't work on a plugin panel.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Враппер:
   - добавлена ConvertNameToRealA.
   - уточнения в ConvertKeyBarTitlesA, FarMenuFnA и FCTL_GET[ANOTHER]PANEL[SHORT]INFO.
   - DN_* -> oldfar:DN_.
2. Не работал QuickView на плагиновой панели.

--------------------------------------------------------------------------------
svs 2008-01-11 11:48:41+03:00 - build 408

1. Mantis#0000456: ConvertNameToReal function doesn't work for
symlinks
   correction

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000456: Функция ConvertNameToReal не работает для симлинков
   уточнение

--------------------------------------------------------------------------------
svs 2008-01-09 20:53:11+03:00 - build 407

1. Mantis#0000447: Buffer overrun in Edit:ProcessKey()
   "patch for a patch"

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000447: Buffer overrun in Edit:ProcessKey()
   "патч на патч"

--------------------------------------------------------------------------------
svs 2008-01-09 19:54:42+03:00 - build 406

1. Mantis#0000456: ConvertNameToReal function doesn't work for
symlinks
     ConvertNameToReal function doesn't work for symlinks, i.e.
returns garbage instead of a full path that follows symlinks (if
necessary)

     What has been done:
     1. In function ConvertNameToReal, processing of symlinks fixed;
     2. Function ConvertNameToReal didn't expect nested symlinks and
returned the result after extracting the path of a trailing symlink
(AFAIK, the error comes from 1.7x branch, so the fix could be
backported there as well).

   Added type conversion to int (GetBuffer has int as a parameter)

2. Mantis#0000455: Fix in GetWindowText

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000456: Функция ConvertNameToReal не работает для симлинков
     Функция ConvertNameToReal не работает для симлинков, т.е. вместо полного пути с
     развёрнутыми симлинками (в случае их наличия) возвращает мусор.

     Что сделано:
     1. В функции ConvertNameToReal исправлена работа с симлинками (ошибки портирования);
     2. Функция ConvertNameToReal не учитывала возможность существования вложенных симлинков,
        т.е. она завершала свою работу после нахождения первого с конца пути симлинка
        (насколько я понимаю, ошибка перетянута из линейки 1.7x, так что неплохо было бы
        фикс портировать и туда).

   От себя добавил приведение к int (у GetBuffer параметр = int)

2. Mantis#0000455: Fix in GetWindowText

--------------------------------------------------------------------------------
ts 2008-01-07 12:25:13+02:00 - build 405

1. Full information from old plugins is passed to OpenPluginInfo, the
corresponding functions were added to the wrapper.
2. Function ArrayAnsiToUnicode added to the wrapper, to convert an
array of strings to Unicode; the end of the array being marked with a
flag element; no need to provide the array size when deleting the
array with FreeArrayUnicode. It is recommended to use this function
wherever appropriate.
3. Fixed a debug build which was broken in 402

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В OpenPluginInfo теперь передается полная информация из старых плагинов, во
   враппер добавлены сопутсвующие функции.
2. Во враппер добавлена функция ArrayAnsiToUnicode для преобразования в юникод
   массива строк, конец массива помечается элементом-маркером, при удалении созданного
   массива с помощью FreeArrayUnicode не нужно указывать его размер.
   Рекомендуется использовать эту функцию во всех встречающихся местах.
3. Поправлено отладочный билд, сломанный в 402

--------------------------------------------------------------------------------
ts 2008-01-07 21:02:07+02:00 - build 404

1. Added functions OldKeyToKey and KeyToOldKey to wrap.cpp to convert
internal FAR keycodes from old to new format and vice versa.
2. Added keycode correction to KeyNameToKeyA and FarKeyToNameA
3. (Probably) imporved ECTL_PROCESSINPUT, ECTL_PROCESSKEY,
ECTL_READINPUT.
4. Temporary workaround for FarCharTableA.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Во wrap.cpp добавлены функции OldKeyToKey и KeyToOldKey для перевода внутренних
   кодов клавиш FAR со старого формата в новый и обратно.
2. В KeyNameToKeyA и FarKeyToNameA добавлено коррекцию кода клавиши.
3. Доработаны (возможно) ECTL_PROCESSINPUT, ECTL_PROCESSKEY, ECTL_READINPUT.
4. Добавлена заглушка FarCharTableA.

--------------------------------------------------------------------------------
t-rex 2008-01-07 08:31:08+02:00

1. Spacing unification in the wrapper, without a build.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Правки индентации во врапере, без билда.

--------------------------------------------------------------------------------
ts 2008-01-07 06:45:38+02:00 - build 403

1. Fixed passing of flags in wrapper for FarStandardFunctions:
   a. FarRecursiveSearchA
   b. ProcessNameA
2. Function AnsiToUnicodeBin added to wrapper to convert a fixed
length buffer to Unicode (see UnicodeToAnsiBin).
3. In UnicodeToAnsiBin, an extra byte is allocated for a resulting
string to be compatible with old plugins that always expect a string
to end with \0 (e.g. in EditorGetString.StringText).
4. Logic of editor API access was changed in wrapper
   (function FarEditorControlA); the following changes were made:
   a. ECTL_SAVEFILE, ECTL_SETKEYBAR, ECTL_SETTITLE - completely.
   b. ECTL_PROCESSINPUT, ECTL_PROCESSKEY, ECTL_READINPUT - temporary,
work in progress.
   d. ECTL_SETPARAM - completely except for a workaround for
ESPT_CHARTABLE because FAR cannot process it.
                      For ESPT_GETWORDDIV command in FAR itself, it is
time to use Reserved2 to pass the length of an accepting buffer.
   e. ECTL_SETSTRING - this comment: "The string being placed must be
in editor's encoding" was unclear, now we expect the string as OEM (as
a result of ECTL_GETSTRING).

   All editor's API calls are now working except ECTL_EDITORTOOEM and
ECTL_OEMTOEDITOR

   Do not forget to set correct flags in wrapper, they often have
different values in the Unicode branch!

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Поправлена передача флагов во враппере для FarStandardFunctions:
   a. FarRecursiveSearchA
   b. ProcessNameA
2. Во враппер добавлена функция AnsiToUnicodeBin для преобразования в юникод
   символов из буфера заданной длины (см. UnicodeToAnsiBin).
3. В функции UnicodeToAnsiBin увеличено размер выделяемой под результирующую
   строку памяти на байт для нормальной работы старых плагинов, считающих что
   строка всегда завершается нулем (например в EditorGetString.StringText).
4. Изменена логика обработки команд доступа к АПИ редактора во враппере
   (функция FarEditorControlA), заменена обработка команд:
   a. ECTL_SAVEFILE, ECTL_SETKEYBAR, ECTL_SETTITLE - полностью.
   b. ECTL_PROCESSINPUT, ECTL_PROCESSKEY, ECTL_READINPUT - временно, в работе.
   d. ECTL_SETPARAM - полностью, кроме заглушки на команду ESPT_CHARTABLE в
                      силу отсутствия обработки в самом фаре.
                      А для команды ESPT_GETWORDDIV в самом фаре пора бы
                      использовать Reserved2 для передачи длины принимающего
                      буфера.
   e. ECTL_SETSTRING - непонятно что подразумевалось под "Помещаемая строка
                       должна быть в кодировке редактора", считаем что строка
                       была в ОЕМ (как результат ECTL_GETSTRING).

   Теперь работают все АПИ вызовы редактора кроме ECTL_EDITORTOOEM и ECTL_OEMTOEDITOR

   Не забываем во враппере правильно передавать флаги, в юникодовой ветке у них часто
   другие значения!

--------------------------------------------------------------------------------
drkns 2008-01-06 14:57:04+02:00 - build 402

1. New pseudokeys MsWheelLeft and MsWheelRight - horizontal scroll
(for Vista and above).
   MsHWheelDelta* parameters added to TechInfo#33.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Новые псевдоклавиши MsWheelLeft и MsWheelRight - горизонтальная прокрутка колеса мыши (для Vista и выше).
   В TI#33 добавлены параметры MsHWheelDelta*.

--------------------------------------------------------------------------------
svs 2008-01-05 19:19:19+03:00 - build 401

1. Similar to Mantis#0000414 "fixing" file handles in search and
viewer
2. Mantis#0000453: When searching files by contents, write permission
is requested (bug from 1.65...)

3. Small fix in registry.cpp::MkKeyName - RegMon doesn't like e.g.
"HKCU\\Console"

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. По аналогии с Mantis#0000414 "починем" хэндлы файлов в поисковике и вьювере

2. Mantis#0000453: При поиске файлов с учетом содержимого файлы открываются с запросом прав на изменение
   (тянет еще аж с 1.65...)

3. Небольшое уточнение в registry.cpp::MkKeyName - RegMon`у не нравится... например, такое: "HKCU\\Console"

--------------------------------------------------------------------------------
ts 2008-01-05 11:39:30+02:00 - build 400

1. Changes in wrapper messages handling for listbox and combobox.

--------------------------------------------------------------------------------
t-rex 2008-01-04 18:07:50+02:00 - build 399

1. From Hannes Eder (and some changes from me): remove redundant
definition of GetFileDateAndTime from setattr.cpp.

2. Mantis#445: Makefiles have no -mno-cygwin switch.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. From Hannes Eder (and some changes from me): remove redundant definition of GetFileDateAndTime from setattr.cpp.

2. Mantis#445: Makefiles have no -mno-cygwin switch.

--------------------------------------------------------------------------------
drkns 2007-12-31 20:03:57+02:00 - build 398

1. GetPathRoot() worked incorrectly for a relative path inside a
symlink

2. When calling plugin menu from within dialogs, the corresponding
macro scope was not set.

3. "Append all" button added to the "Overwrite file" confirmation
dialog.

4. Mantis#0000023: ConsoleAlias. Works in the command line, as well as
in user's menu.
   Standard special symbol $* is supported. This can be controlled by
doskey.

5. Decimal symbol and digit grouping symbol are now taken from
regional settings (ported from 1.7)

6. TechInfo #78:
   [HKEY_CURRENT_USER\Software\Far\Interface]
   "FormatNumberSeparators":REG_DWORD
   "Interface/FormatNumberSeparators"  (type DWORD) allows to define
digit grouping symbol and decimal symbol.
   High word is the code of a digit grouping symbol
   Low word is the code of a decimal symbol
   Default is 0 (use regional settings from OS).

7. Added ACTL_REDRAWALL command to redraw all FAR frames

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Некорректная работа GetPathRoot() для относительного пути внутри симлинка.

2. При вызове меню плагинов из диалогов не выставлялась соответствующая макрообласть.

3. В диалог подтверждения перезаписи файла добавлена кнопка "Append all".

4. Mantis#0000023: ConsoleAlias. Работает в комстроке и меню пользователя.
   Поддерживается стандартный спецсимвол $*. Управлять этим делом можно с помощью doskey.

5. Из 1.7 перетащено наследование от региональных настоек системы разделителей
   групп разрядов и целой/дробной части чисел.

6. TechInfo #78:
   [HKEY_CURRENT_USER\Software\Far\Interface]
   "FormatNumberSeparators":REG_DWORD
   Параметр  "Interface/FormatNumberSeparators"  с  типом  DWORD  позволяет
   определять символы,  используемые в качестве разделителей групп разрядов
   и целой/дробной части чисел.
   Старшее слово - код символа для разделителя групп разрядов.
   Младшее слово - код символа для разделителя целой и дробной части.
   По умолчанию значение - 0 (использовать региональные настройки ОС).

7. Добавлена команда ACTL_REDRAWALL - перерисовка всех фреймов фара.

--------------------------------------------------------------------------------
svs 2007-12-28 13:39:19+03:00 - build 397

1. Mantis#0000452: Bug, doubling code and improvements in hotplug.cpp

--------------------------------------------------------------------------------
svs 2007-12-23 16:14:14+03:00 - build 396

from Alexey Samlyukov:

1. memcpy()/wmemcpy() + more Unicode-related fixes + removed legacy
code (#if defined(FAR_ANSI))

· · · · · · · · · · · · · · · · · · · · · · · · ·

from Alexey Samlyukov:

1. memcpy()/wmemcpy() + прочая уникодная мелочь + убраны анахронизмы (#if defined(FAR_ANSI)), может и зря..

--------------------------------------------------------------------------------
svs 2007-12-23 15:54:37+03:00 - build 395

1. Mantis#0000447: Buffer overrun in Edit:ProcessKey()

2. Mantis#0000446: Wrong function to free memory in
TreeList::SaveState()

3. Mantis#0000449: Handle leak in History::ReadHistory()

4. Mantis#0000444: Bugs and memory leaks in class History

5. Mantis#0000441: Cannot delete file "Descript.ion"
   Here we had an incorrect definition of virtual function
GetDizName() in panel.hpp.
   Because of this, SrcPanel->GetDizName(strDizName); in ShellDelete()
didn't return anything.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000447: Buffer overrun in Edit:ProcessKey()

2. Mantis#0000446: Wrong function to free memory in TreeList::SaveState()

3. Mantis#0000449: Handle leak in History::ReadHistory()

4. Mantis#0000444: Bugs and memory leaks in class History

5. Mantis#0000441: Cannot delete file "Descript.ion"
   Здесь в panel.hpp было неправильное определение виртуальной функции GetDizName().
   Поэтому в ShellDelete() конструкция SrcPanel->GetDizName(strDizName); возвращала...
   да ничего она не возвращала!

--------------------------------------------------------------------------------
yjh 2007-12-15 00:54:56+03:00 - build 394

1. Completion of exclusionary filters for directories in search (Alt-
F7).
   Now they work the same way as for copying, i.e. when filtering is
enabled and exclusionary filter (-) is used, and a directory matches
this filter, that directory is skipped along with its content and
subdirectories. Of course this is true only when D+ is disabled :)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Доделка фильтров "исключения" при поиске (Alt-F7) в отношении каталогов.
   Теперь поведение фильтров такое же как в копировании, т.е. если включена
   фильтрации и в списке есть "запрещающий" (-) фильтр, то когда под его
   действие попадает каталог пропускается не только сам каталог, но и всё
   что находится в нём (и его подкаталогах). Разумеется, это верно только при
   выключенном D+ :)

--------------------------------------------------------------------------------
svs 2007-12-15 00:35:38+03:00 - build 393

1. Macros with non-Latin characters in names were saved incorrectly.
   This resulted in the following changes:
   a) correction in KeyNameToKey and KeyToText;
   b) in KeyMacro::ReadMacros, another version of GetRegKey() is used
now.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Неправильно сохранялись макросы, содержащие буквы, оличные от латиницы.
   По этому поводу:
   а) уточнение в KeyNameToKey и KeyToText;
   б) в KeyMacro::ReadMacros юзалась не та функция GetRegKey().

--------------------------------------------------------------------------------
drkns 2007-12-14 21:59:01+02:00 - build 392

1. Plugin's menu can be invoked by F11 from dialogs
   To get into that menu, plugin must set PF_DIALOG flag in
PluginInfo.Flags.
   The plugin begin called gets the following parameters in
OpenPlugin():
   - OpenFrom: OPEN_DIALOG
   - Item: reference to a structure OpenDlgPluginData:
     struct OpenDlgPluginData
     {
      int ItemNumber; //number of menu item of those registered by the
plugin
      HANDLE hDlg;    // handle of the dialog that invoked the plugin
     };

2. Plugin can export ProcessDialogEvent to process events that come
into the dialog:
   int ProcessDialogEvent(int Event, void* Param)
   Event:
    DE_DLGPROCINIT - event goes into the handler
    DE_DEFDLGPROCINIT - event goes into the standard handler
    DE_DLGPROCEND - event has been processed already

   Param is the reference to a structure FarDialogEvent:
   struct FarDialogEvent
   {
    HANDLE hDlg;
    int Msg;
    int Param1;
    LONG_PTR Param2;
    LONG_PTR Result;
   };

   return:
   - TRUE when we processed the event ourselves, and no need to
process it further
     FarDialogEvent.Result - reference to a variable being used
returned by the event handler
   - FALSE - continue event handling

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Меню плагинов можно вызывать по F11 из диалогов.
   Чтобы попасть в это меню, плагин должен установить флаг PF_DIALOG в PluginInfo.Flags.
   Вызванный плагин получает следующие параметры в OpenPlugin():
   - OpenFrom: OPEN_DIALOG
   - Item: указатель на структуру OpenDlgPluginData:
     struct OpenDlgPluginData
     {
      int ItemNumber; //номер выбранного пункта в меню из зарегистрированных плагином пунктов
      HANDLE hDlg;    //хэндл диалога, из которого вызван плагин
     };

2. Плагин может экспортировать ProcessDialogEvent для обработки поступающих в диалог событий:
   int ProcessDialogEvent(int Event, void* Param)
   Event:
    DE_DLGPROCINIT - событие поступает в обработчик
    DE_DEFDLGPROCINIT - событие поступает в стандартный обработчик
    DE_DLGPROCEND - событие уже обработано

   Param - указатель на структуру FarDialogEvent:
   struct FarDialogEvent
   {
    HANDLE hDlg;
    int Msg;
    int Param1;
    LONG_PTR Param2;
    LONG_PTR Result;
   };

   return:
   - TRUE - событие обработали сами, не продолжать обработку.
     FarDialogEvent.Result - указатель на переменную, используемую обработчиком
     в качестве возвращаемого значения.
   - FALSE - продолжить обработку события.

--------------------------------------------------------------------------------
svs 2007-12-14 13:45:16+03:00 - build 391

from Alexander Mitin

1. Mantis#0000432: Assertion while creating a submenu in User Menu

2. Mantis#0000431: Crash when deleting the File Highlighting entry

3. Mantis#0000430: Crash in "System parameters"

--------------------------------------------------------------------------------
svs 2007-12-13 20:31:34+03:00 - build 390

1. Mantis#0000433: Updated operator new in new.cpp

2. Mantis#408: Memory leak in struct MacroState.
    ohh... problems with Work.locVarTable :-(
    "Work.locVarTable" itself must be deleted in the destructor only
    In other cases, only the table contents must be erased.

3. API: MCMD_GETSTATE for ACTL_KEYMACRO returns
    one of the values (enumeration FARMACROSTATE):
      enum FARMACROSTATE {
        MACROSTATE_NOMACRO          =0,  // not in the macro mode
        MACROSTATE_EXECUTING        =1,  // executing without passing
keys to the plugin
        MACROSTATE_EXECUTING_COMMON =2,  // executing with passing
keys to the plugin
        MACROSTATE_RECORDING        =3,  // recording without passing
keys to the plugin
        MACROSTATE_RECORDING_COMMON =4,  // recording with passing
keys to the plugin
      };

4. Trying to fix
   Mantis#0000432: Assertion while creating a submenu in User Menu
   Mantis#0000430: Crash in "System parameters"

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000433: Updated operator new in new.cpp

2. Mantis#408: Memory leak in struct MacroState.
    тыкс... перебор вышел с Work.locVarTable :-(
    Сам "Work.locVarTable" нужно удалять только в деструкторе.
    В остальных случаях - только содержимое таблицы.

3. API: Команда MCMD_GETSTATE для ACTL_KEYMACRO,
    возвращает одно из значений (перечисление FARMACROSTATE):
      enum FARMACROSTATE {
        MACROSTATE_NOMACRO          =0,  // не в режиме макро
        MACROSTATE_EXECUTING        =1,  // исполнение: без передачи плагину пимп
        MACROSTATE_EXECUTING_COMMON =2,  // исполнение: с передачей плагину пимп
        MACROSTATE_RECORDING        =3,  // запись: без передачи плагину пимп
        MACROSTATE_RECORDING_COMMON =4,  // запись: с передачей плагину пимп
      };

4. Попытка исправить
   Mantis#0000432: Assertion while creating a submenu in User Menu
   Mantis#0000430: Crash in "Системные параметры"

--------------------------------------------------------------------------------
svs 2007-12-10 21:22:18+03:00 - build 389

1. Mantis#0000428: Again, DI_COMBOBOX
   Type check was missing

2. Mantis#0000429: Directory cache is not purged and is not saved

3. Macro: BOF, EOF, EMPTY and SELECTED weren't processed in a command
prompt

4. Mantis#0000415: some unclear changes in DI_COMBOBOX
   (was broken in 306)

5. API: OPEN_FILEPANEL is now public

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000428: Вновь DI_COMBOBOX
   Отсутствовала проверка на тип элемента.

2. Mantis#0000429: Не очищается и не сохраняется кеш директорий

3. Macro: BOF, EOF, EMPTY и SELECTED не обрабатывались в ком.строке

4. Mantis#0000415: произошли какие-то непонятные изменения в DI_COMBOBOX
   (сломалось в 306)

5. API: пусть OPEN_FILEPANEL будет официальным, а не спрятанным.

--------------------------------------------------------------------------------
t-rex 2007-12-08 23:40:46+02:00 - build 388

From Stanislav Vinokurov:

1. Mantis#411: Batch files are executed in the external window.

--------------------------------------------------------------------------------
t-rex 2007-12-08 17:55:02+02:00 - build 387

1. Mantis#416: Crash while deleting folders
   This turned out to be a deeper problem, related to bugs in
UnicodeString,
   when the buffer size grew while performing operations that didn't
require its growth, and with multiple operations on the same string
the buffer size increased to enormous values.

2. Mantis#408: Memory leak in struct MacroState.

3. Heap corruption while deleting non-existent macros.

4. Incorrect saving of REG_MULTI_SZ macros.

5. From Hannes Eder: StrLength in clipboard.cpp.

6. Potential heap corruption caused by (not)using sizeof(wchar_t) in a
couple of places

7. From Alexey Samlyukov: wmem* instead of mem* in strmix.cpp.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#416: Crash while deleting folders
   Это в общем более глубокая проблема была, глюк был в UnicodeString,
   размер буфера рос при операциях для которых его рост был не нужен и при многих
   операциях над одной и той же строкой буфер вырастал до нереальных значений.

2. Mantis#408: Memory leak in struct MacroState.

3. Коррупция хипа при удаление несуществующих макросов.

4. Некорректное сохранение REG_MULTI_SZ макросов.

5. From Hannes Eder: StrLength in clipboard.cpp.

6. Потенциальные коррупции хипа и за неправильного не/использование sizeof(wchar_t) в паре мест.

7. От Alexey Samlyukov: wmem* вместо mem* в strmix.cpp.

--------------------------------------------------------------------------------
t-rex 2007-12-07 16:36:54+02:00 - build 386

1. Mantis#421: Memory leak caused by using memset() to initialize
values of structures.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#421: Memory leak caused by using memset() to initialize values of structures.

--------------------------------------------------------------------------------
svs 2007-12-06 18:45:06+03:00 - build 385

1. 2 new events for a panel plugin: FE_GOTFOCUS and FE_KILLFOCUS
   Param parameter for ProcessEvent is NULL.
   According to this, redesigned the order of events to be sent:
Gotfocus goes first, the rest follows.
   To support this, SendOnFocus parameter was added to SetPluginMode()

2. In dialogs, immediately after DN_INITDIALOG, DN_GOTFOCUS fires for
the element having Focus=1

3. 2 new events for the editor plugin: EE_GOTFOCUS and EE_KILLFOCUS
   Param parameter for ProcessEditorEvent is EditorID.
   To support this, a virtual function OnChangeFocus added to
FileEditor.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. 2 новых эвента для панельного плагина: FE_GOTFOCUS и FE_KILLFOCUS
   Параметр Param для ProcessEvent равен NULL.
   В соответствии с этим переделан механизм (очередность) посыла событий - сначала Gotfocus, а потом остальное.
   Для этого в SetPluginMode() добавлен параметр SendOnFocus

2. В диалогах, сразу после DN_INITDIALOG приходит DN_GOTFOCUS для того элемента, который Focus=1

3. 2 новых эвента для редакторного плагина: EE_GOTFOCUS и EE_KILLFOCUS
   Параметр Param для ProcessEditorEvent равен EditorID.
   Для этого в класс FileEditor добавлена virtual функция OnChangeFocus.

--------------------------------------------------------------------------------
svs 2007-12-06 13:31:33+03:00 - build 384

1. Mantis#0000417: Memory leak in Viewer::ProcessKey()

2. Mantis#0000418: Wrong memory copy function used in
TArray<Object>::Pack()

3. Mantis#0000419: Wrong memory copy function used in
ScreenBuf::Scroll(int Num)

4. Mantis#0000420: INVALID_HANDLE_VALUE used in FindClose() in
ScanTree::GetNextName()

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000417: Memory leak in Viewer::ProcessKey()

2. Mantis#0000418: Wrong memory copy function used in TArray<Object>::Pack()

3. Mantis#0000419: Wrong memory copy function used in ScreenBuf::Scroll(int Num)

4. Mantis#0000420: INVALID_HANDLE_VALUE used in FindClose() in ScanTree::GetNextName()

--------------------------------------------------------------------------------
svs 2007-12-05 17:29:24+03:00 - build 383

1. Mantis#0000414: Handle leak in FileEditor::LoadFile()

2. Mantis#0000412: Wrong delete type in Language::Init()

3. Mantis#0000413: Wrong delete type in FileEditor::SaveFile()

--------------------------------------------------------------------------------
t-rex 2007-12-04 23:41:54+02:00 - build 382

1. Various bugs mostly related to incorrect usage of sizeof along with
wchar_t.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Различные глюки - по большому кривое использование sizeof в связи с wchar_t.

--------------------------------------------------------------------------------
drkns 2007-12-04 19:55:33+02:00 - build 381

1. Minor bug in 379.

--------------------------------------------------------------------------------
svs 2007-12-04 20:25:07+03:00 - build 380

1. Mantis#0000410: Memory leak in class History

--------------------------------------------------------------------------------
drkns 2007-12-04 18:51:36+02:00 - build 379

1. Mantis#0000409: User Menu (F2) doesn't handle process INS key when
Opt.UseNumPad == 1
   The same fixed for history of input strings, links to folders,
filters and associations.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000409: User Menu (F2) doesn't handle process INS key when Opt.UseNumPad == 1
   Также поправлено в истории строк ввода, ссылках на папки, фильтрах и ассоциациях.

--------------------------------------------------------------------------------
svs 2007-12-04 09:26:51+03:00 - build 378

1. Mantis#0000354: Goto dialog in editor
   Done, but not as requested.
   Added DIF_NOAUTOCOMPLETE flag, but because the code in dialog.cpp
is commented out, only the place in the code is marked...

2. Mantis#0000331: ...
   combobox-related correction:
   - correction of Top
   - dynamical change of opened drop-down list (Hide+Show)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000354: Goto dialog in editor
   Здесь сделано не так, как хотелка звучит.
   Добавлен флаг DIF_NOAUTOCOMPLETE, но т.к. код в dialog.cpp закомменчен, то
   просто обозначено место в коде...

2. Mantis#0000331: ...
   про комбобокс; уточнение:
   - корректировка Top`а
   - динамическое изменение открытого выпадающего списка (Hide+Show)

--------------------------------------------------------------------------------
t-rex 2007-12-04 08:18:31+02:00 - build 377

1. Mantis#406: Memory corruption and crash in Editor::AddUndoData().

2. Mantis#407: Memory leak in CommandLine class.

--------------------------------------------------------------------------------
t-rex 2007-12-03 23:19:20+02:00 - build 376

1. Mantis#367: Plugins won't load if FAR is started from a folder
which is a junction (or any of its parent folders is a junction)

2. Mantis#401: Handle leak in ProcessGlobalFileTypes().

3. Mantis#402: Handle leak in History::SaveHistory().

4. Mantis#403: Not initialized variable used in
MessageRemoveConnection().

5. Mantis#404: Handle leak in CopyKeyTree().

6. Mantis#400: Function xf_wcsdup() should replace wcsdup().

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#367: Не загружаются плагины, когда FAR запущен из папки которая сама или одина из её папок более высокого уровня являются связью.

2. Mantis#401: Handle leak in ProcessGlobalFileTypes().

3. Mantis#402: Handle leak in History::SaveHistory().

4. Mantis#403: Not initialized variable used in MessageRemoveConnection().

5. Mantis#404: Handle leak in CopyKeyTree().

6. Mantis#400: Function xf_wcsdup() should replace wcsdup().

--------------------------------------------------------------------------------
drkns 2007-12-03 20:20:28+02:00 - build 375

1. Mantis#0000364: Maximize button doesn't work as expected
   Trying another way :-)
   Now works as expected (the button itself, double-click on the
title, Maximize/Restore in the system menu etc.)
   Also, the console window's state is taken into account on startup
(start /max, settings in lnk etc.)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000364: Maximize button doesn't work as expected
   Попробуем с другой стороны :-)
   Теперь работает "as expected" (кнопка, даблклик по заголовку, Maximize/Restore в системном меню и т. п.)
   Также учитывается состояние окна консоли при старте (start /max, настройка в lnk и т. п.)

--------------------------------------------------------------------------------
drkns 2007-12-03 07:54:40+02:00 - build 374

1. Mantis#0000399: Memory leak in add_sid_cache()

2. DM_SETDLGITEM didn't work

--------------------------------------------------------------------------------
t-rex 2007-12-03 00:01:04+02:00 - build 373

1. Reported by Sten, Mantis#398: Patches to fix crashes after adding
file to archive by pressing Shift+F1/Enter.

2. One of the memory leaks fixed in 372 was not a memory leak at
all :), it was a perfectly correct code.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. По наводке от Sten, Mantis#398: Patches to fix crashes after adding file to archive by pressing Shift+F1/Enter.

2. One of the memory leaks fixed in 372 was not a memory leak at all :), it was a perfectly correct code.

--------------------------------------------------------------------------------
t-rex 2007-12-02 23:06:15+02:00 - build 372

1. From Hannes Eder: removed unused variables and corrected a
condition in macro processing.

2. Fixed two memory leaks found along the way.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. From Hannes Eder: removed unused variables and corrected a condition in macro processing.

2. Fixed two memory leaks found along the way.

--------------------------------------------------------------------------------
t-rex 2007-12-02 20:05:17+02:00 - build 371

1. From Stanislav Vinokurov: Mantis#397: Incorrect processing of
oldfar::DM_GETTEXTPTR in FarSendDlgMessageA()

2. The same for oldfar::DM_GETTEXT.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. От Stanislav Vinokurov: Mantis#397: Неправильная обработка oldfar::DM_GETTEXTPTR в FarSendDlgMessageA()

2. Тоже самое для oldfar::DM_GETTEXT.

--------------------------------------------------------------------------------
t-rex 2007-12-02 13:59:53+02:00 - build 370

1. From Mantis#396, incorrect check during realloc in
TreeList::ReadTreeFile.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Из Mantis#396, неверная проверка при реалоке в TreeList::ReadTreeFile.

--------------------------------------------------------------------------------
t-rex 2007-12-02 00:15:59+02:00 - build 369

1. Mantis#394: A full path must be passed in the Name argument of
OpenFilePlugin(), not a file name.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#394: В OpenFilePlugin() должен передаваться в Name полный путь, а не имя файла.

--------------------------------------------------------------------------------
t-rex 2007-12-01 19:47:22+02:00 - build 368

1. Memory leak in DeletePluginItemList.

2. Mantis#314: Description field in PluginPanelItem contains garbage
when calling GetFilesW.
   Mantis#393 is a duplicate.

3. Mantis#380: Memory leak in ConvertWildcards().

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Memory leak в DeletePluginItemList.

2. Mantis#314: поле Description в PluginPanelItem находится мусор при вызове GetFilesW.
   И дупликат, Mantis#393.

3. Mantis#380: Memory leak in ConvertWildcards().

--------------------------------------------------------------------------------
t-rex 2007-12-01 15:54:34+02:00 - build 367

from Stanislav Vinokurov (Sten):

1. Mantis#391: Wrapper: Implementation of FarRecursiveSearchA.

2. Mantis#392: Wrapper: DI_EDIT and DI_FIXEDIT were processed
incorrectly in AnsiDialogItemToUnicode().

· · · · · · · · · · · · · · · · · · · · · · · · ·

от Stanislav Vinokurov (Sten):

1. Mantis#391: Wrapper: Реализация FarRecursiveSearchA.

2. Mantis#392: Wrapper: Некорректная обработка DI_EDIT и DI_FIXEDIT в AnsiDialogItemToUnicode().

--------------------------------------------------------------------------------
t-rex 2007-11-30 16:28:14+02:00 - build 366

from Alexey Samlyukov:

1. Mantis#388: fixes for dialog initialization in  File/Folder
descriptions.

· · · · · · · · · · · · · · · · · · · · · · · · ·

от Alexey Samlyukov:

1. Mantis#388: фиксы инициализации диалогов File/Folder descriptions.

--------------------------------------------------------------------------------
t-rex 2007-11-30 16:12:41+02:00 - build 365

from Alexandr Zamaraev:

1. Mantis#387: copy.cpp, counting cycle instead of function call

· · · · · · · · · · · · · · · · · · · · · · · · ·

от Alexandr Zamaraev:

1. Mantis#387: copy.cpp, цикл подсчёта количества вместо вызова функции.

--------------------------------------------------------------------------------
t-rex 2007-11-30 16:02:33+02:00 - build 364

from Alexey Samlyukov:

1. Mantis#389: remove ConvertOldSettings().

--------------------------------------------------------------------------------
t-rex 2007-11-30 15:30:14+02:00 - build 363

1. UnicodeString: removed RShift, full of bugs and not necessary

2. UnicodeString: Fixed LShift, string length wasn't set after
changing

3. Reported by Sten: cycle was incorrect in
PluginManager::OpenFilePlugin.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. UnicodeString: Удалил RShift, глюкодром полный и оно не нужно.

2. UnicodeString: Исправил LShift, не выставлялась длина строки после изменения.

3. По наводке от Sten, неправильно работал цикл в PluginManager::OpenFilePlugin.

--------------------------------------------------------------------------------
drkns 2007-11-27 21:20:14+02:00 - build 362

1. Update of DialogAPI: FarListItem.Text is now const wchar_t*.
   Plugins with DI_LISTBOX/DI_COMBOBOX need to be changed.

2. DM_LISTGETITEM wasn't working correctly

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Обновление DialogAPI: FarListItem.Text теперь const wchar_t*.
   Плагины c DI_LISTBOX/DI_COMBOBOX надо править.

2. Криво работал DM_LISTGETITEM.

--------------------------------------------------------------------------------
svs 2007-11-27 09:46:25+03:00 - build 361

1. TechInfo#48 is set to 1 by default, ignoring TechInfo#48 for
Numpad5

2. Mantis#0000360: Assigned key wasn't displayed correctly
   Still some questions remain...
   a) Code in InitKeysArray need tweaking for TechInfo#21 == 0
   b) tested under locales 409 and 419; needs more testing on other
locales
   c) while Russian input locale is active, the
      '.' and '/' keys output the same code ==> '.', e.g.
      press <.> ==> LocalKeyToKey(0x44E) ==> 0x2E
      press </> ==> LocalKeyToKey(0x02E) ==> 0x2E
      In FAR 1.7, the same problem exists.
      This, however, doesn't affect stability.

3. Corrections in SysLogDump()

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. TechInfo#48 по умолчанию делаем 1, а для Numpad5 TechInfo#48 игнорируем.

2. Mantis#0000360: Неверное отображение назначаемой клавиши
   Здесь есть вопросы...
   а) Не отработан код (в InitKeysArray), когда TechInfo#21 == 0
   б) проверял под двумя локалями - 409 и 419: проверить бы на остальных.
   с) замечено (кстати, в 1.7x тоже самое) в русской раскладке 2 правых
      нижних клавиши '.' и '/' выдают один и тот же код ==> '.', т.к.
      нажали <.> ==> LocalKeyToKey(0x44E) ==> 0x2E
      нажали </> ==> LocalKeyToKey(0x02E) ==> 0x2E
      В принципе, на работоспособность это не влияет, но визуально...

3. Уточнения в SysLogDump()

--------------------------------------------------------------------------------
svs 2007-11-26 12:49:47+03:00 - build 360

From Alexander Mitin (alexmitin):
1. Mantis#0000379: Memory corruption in QuickView::DisplayObject()

In: keyboard.cpp, local.cpp, macro.cpp marked some controversial code
related to Mantis#360

· · · · · · · · · · · · · · · · · · · · · · · · ·

From Alexander Mitin (alexmitin):
1. Mantis#0000379: Memory corruption in QuickView::DisplayObject()

В остальном - в keyboard.cpp local.cpp macro.cpp отмечены спорные моменты для Mantis#360

--------------------------------------------------------------------------------
t-rex 2007-11-25 21:15:46+02:00

No build.

1. Unnecessary "wchar_t *m_lpwszBuffer" in UnicodeString.hpp.

2. Updates in HACKING-*.

· · · · · · · · · · · · · · · · · · · · · · · · ·

Без билда.

1. Не нужный "wchar_t *m_lpwszBuffer" в UnicodeString.hpp.

2. Обновления в HACKING-*.

--------------------------------------------------------------------------------
t-rex 2007-11-25 20:39:14+02:00 - build 359

from Alexey Samlyukov:

1. Mantis#376: Fix in the Viewer settings dialog.

--------------------------------------------------------------------------------
drkns 2007-11-24 18:24:58+02:00 - build 358

1. Macros with $If, $Else etc. weren't processed

2. Macro function Date() did't work.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не обрабатывались макросы, содержащие макрокоманды $If, $Else и т. п.

2. Не работала макрофункция Date().

--------------------------------------------------------------------------------
t-rex 2007-11-24 18:03:42+02:00 - build 357

1. Mantis#375: Network plugin wasn't called after doing ChangeUp in a
network resource. Thanks to Redart.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#375: Не вызывался Network плагин при ChangeUp из сетевого ресурса. По наводке Redart.

--------------------------------------------------------------------------------
t-rex 2007-11-24 17:30:03+02:00 - build 356

1. Search in editor is back.

2. Cursor could disappear while searching in editor

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Вернул поиск в редакторе.

2. При поиске в редакторе мог пропадать курсор.

--------------------------------------------------------------------------------
drkns 2007-11-22 19:33:01+02:00 - build 355

1. Mantis#0000365: Crash when entering any symbol into the "Optional
marking character" dialog (files highlighting)
2. Mantis#0000366: In files highlighting dialog, optional marking symbols
are displayed incorrectly sometimes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000365: Падение при вводе любого символа в поле "Опциональный символ пометки" в диалоге фильтра раскраски файлов

2. Mantis#0000366: В диалоге раскраски файлов и групп сортировки не всегда корректно показываются опциональные символы пометки

--------------------------------------------------------------------------------
svs 2007-11-19 11:57:58+03:00 - build 354

1. Mantis#0000358: For "points" element of PluginPanelItem.UserData is
always 0

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000358: Для элемента "точки" PluginPanelItem.UserData всегда 0

--------------------------------------------------------------------------------
t-rex 2007-11-18 23:23:43+02:00 - build 353

1. DN_EDITCHANGE and DN_DRAWDLGITEM are passed to FarDialogItem (?)

2. Using correct xf_(free|malloc|realloc) in all the code

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Доделал DN_EDITCHANGE и DN_DRAWDLGITEM на предмет передачи FarDialogItem.

2. Юзаем правильные xf_(free|malloc|realloc) во всём коде.

--------------------------------------------------------------------------------
drkns 2007-11-18 12:11:21+02:00 - build 352

1. For the user's menu, macro scope was set to Menu instead of
UserMenu.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. для меню пользователя выставлялась макрообласть Menu, a не UserMenu.

--------------------------------------------------------------------------------
t-rex 2007-11-18 02:19:42+02:00 - build 351

1. Mantis#357 By Oleg Bekhter's advice: memory "hit" when deleting a
block in the editor.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#357 По наводке от Oleg Bekhter: Удар по памяти при удаление блока в редакторе.

--------------------------------------------------------------------------------
t-rex 2007-11-18 01:33:22+02:00 - build 350

1. Mess-up of new and malloc while working with Clipboard.
   Also, some mem leaks removed

2. Using correct xf_(free|malloc|realloc) in the wrapper

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Мешанина new и malloc при работе с Clipboard.
   Заодно убраны пару мем ликов и около того.

2. Юзаем правильные xf_(free|malloc|realloc) во врапере.

--------------------------------------------------------------------------------
t-rex 2007-11-16 22:52:36+02:00 - build 349

1. Another update of DialogAPI, it looks like this is more convenient
to work with now.
   (no allocator, no output data).
   Plugins that use DialogAPI need corrections!
-----------------------------------------
   Description of the new API:
   Now we have 3 functions: (Dialog and DialogEx don't exist any more)
   a. HANDLE DialogInit(the same parameters as for DialogEx), returns
a dialog descriptor or INVALID_HANDLE_VALUE on error.
   b. int DialogRun(HANDLE hDlg), runs a dialog, returns the same data
DialogEx used to return.
   c. void DialogFree(HANDLE hDlg), frees all dialog-related memory.

   FarDialogItem doesn't have DataIn and DataOut but only const
wchar_t *PtrData.
   This PtrData is the initial text for an element.

   The main difference from an old DialogAPI is that the array of
structures FarDialogItem
   is for input only, no changes are written back on dialog close

   How to work with the new API:
   DialogInit()
   DialogRun()
   *** various calls of SendDlgMessage()                ***
   *** to get necessary output data from a dialog. ***
   DialogFree()

   Some additional DM_* added and one has been changed.
   a. DM_GETDLGITEM - changed, Param2 must be 0, pointer to an element
is returned by the function itself (NULL on error).
                      FAR himself allocates memory for the element,
you cannot change the element,
                      and it must be freed with DM_FREEDLGITEM when
not needed anymore.
   b. DM_FREEDLGITEM - frees an element received by DM_GETDLGITEM.
                       Param1=0, Param2 = pointer obtained from
DM_GETDLGITEM.
   c. DM_GETCONSTTEXTPTR - returns (const wchar_t *) pointer to an
internal FAR buffer which is associated with the element's string. In
no case should you change or store the pointer itself, because it is
changed whenn the element's string is changed.
                           This was added to provide a more convenient
way to work after closing the dialog (DialogRun) before DialogFree,
but of course this can be used in a handler as well, but with
caution :). Param1 = element's ID, Param2 = 0.
-----------------------------------------

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Снова обновление DialogAPI, теперь вроде бы с ним удобно работать
   (нету больше аллокатора и выходных данных).
   Плагины которые используют DialogAPI надо переделывать!
-----------------------------------------
   Описание нового API:
   Теперь есть 3 функции: (Dialog и DialogEx больше нету)
   а. HANDLE DialogInit(те же параметры что и были у DialogEx), возвращает
      описатель диалога или INVALID_HANDLE_VALUE в случае ошибки.
   б. int DialogRun(HANDLE hDlg), запускает диалог, возвращает то что раньше
      возвращал DialogEx.
   с. void DialogFree(HANDLE hDlg), освобождает всю память связанную с диалогом.

   FarDialogItem уже не имеет DataIn и DataOut а только const wchar_t *PtrData.
   Этот PtrData является начальным текстом для элемента.

   Главное отличие от старого DialogAPI это то что массив структур FarDialogItem
   является только входным, в него не пишутся ни какие изменения при закрытии
   диалога.

   Система работы с новым API такова:
   DialogInit()
   DialogRun()
   *** различные вызовы SendDlgMessage()                ***
   *** для получения нужных выходных данных из диалога. ***
   DialogFree()

   Также появились дополнительные DM_* и изменён один старый:
   а. DM_GETDLGITEM - изменён, Param2 должен быть 0, а поинтер на нужный
                      элемент возвращается самой функцией (NULL если ошибка).
                      Фар сам аллоцирует память под элемент, его нельзя
                      изменять и в конце использования его надо освободить с
                      помощью DM_FREEDLGITEM.
   б. DM_FREEDLGITEM - освобождает элемент полученый с помощью DM_GETDLGITEM.
                       Param1=0, Param2 = поинтер полученый от DM_GETDLGITEM.
   с. DM_GETCONSTTEXTPTR - возвращает (const wchar_t *) поинтер на внутренний
                           буфер фара связаный со строкой элемента. Ни в коем
                           случае нельзя изменять, а также нельзя сохранять сам
                           поинтер так как он меняется при изменениях в строке
                           элемента. Добавлен для удобства работы после
                           закрытия диалога (DialogRun) и до DialogFree, но
                           можно конечно использовать и в обработчике, только
                           аккуратно :). Param1 = ID элемента, Param2 = 0.
-----------------------------------------

--------------------------------------------------------------------------------
yjh 2007-11-16 07:20:48+03:00 - build 348

1. While performing a Move operation with filtering enabled, the
copied directory wasn't completely removed

2. While performing a Move operation with filtering enabled, empty
directories weren't copied even if they matched a filter

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В операции Move при включенной фильтрации не удалялся полностью
   скопированный каталог

2. В операции Move при включенной фильтрации пустые каталоги не копировались
   даже если они соотвествуют фильту

--------------------------------------------------------------------------------
yjh 2007-11-16 00:17:38+03:00 - build 347

1. In exception filters, the option that disallowed filtering of
directories wasn't respected.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В правке фильтров исключений не учитывался запрет на фильтрацию каталогов

--------------------------------------------------------------------------------
drkns 2007-11-15 20:04:49+02:00 - build 346

1. One more "owners-related" fix

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Ещё одна небольшая правка с овнерами.

--------------------------------------------------------------------------------
yjh 2007-11-15 04:10:08+03:00 - build 345

1. Completing the "exception" filters for copying the folders.
   If filtering is enabled for copying, all "allowing" filters work as
they previously did. For "disallowing" filters, if we meet a folder
that matches the filter, we skip it along with all its contents.

2. Removed a couple of BUGBUG in copying with filters enabled. Now it
works :-)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Доделка фильтров "исключения" при копировании в отношении каталогов.
   Если при копировании включена фильтраци, то в отношении "разрещающих"
   фильтров всё работает как раньше. В отношении же "запрещающих" (-) фильтров,
   если встречается каталог подпадающий под действие фильтра, то пропускается
   и он и всё его содержимое

2. Убрана пара BUGBUG в копировании при включенных фильтрах. Теперь работает :)

--------------------------------------------------------------------------------
drkns 2007-11-14 22:22:05+02:00 - build 344

1. Small bug in 343.

--------------------------------------------------------------------------------
drkns 2007-11-14 21:22:05+02:00 - build 343

1. The %pathext% mask wasn't processed in files highlighting.

2. In the "display owners" mode, caching didn't work and memory wasn't
freed.

3. You can append the 'L' flag to a "file owner" column; this will
display a domain.

4. It is possible to input Unicode symbols with Alt-NumX :)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Не обрабатывалась маска %pathext% в раскраске файлов.

2. В режиме отображения овнеров не работало кеширование и не освобождалась память.

3. К типу колонки "владелец файла" можно добавлять флаг 'L' - отображать домен.

4. Можно вводить юникодные символы по Alt-NumX :)

--------------------------------------------------------------------------------
yjh 2007-11-14 22:04:42+03:00 - build 342

1. In FarMkTempEx, the WithPath parameter was ignored, which is
unacceptable in some cases.

2. In FarMkTempEx, a potential infinite loop removed. On error, an
empty string is returned.

3. In WipeDirectory, the renaming is implement by actually renaming
(in-place), not moving the items. This uses less resources, eliminates
the "restoration error" (when deletion wasn't possible, and Skip was
chosen, partially removed folders remained, some of them in wrong
places :), minimizes the probability of problems when a directory is
full (when generating a name for a temporary file).
   Besides all this, old implementation was badly broken anyway in
case of Opt.TempPath being located on another drive - MoveFile doesn't
allow moving directories between volumes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В FarMkTempEx игнорировлася параметр WithPath, что далеко не всегда допустимо

2. В FarMkTempEx убран потенциальный infinite loop. При ошибке возвращается
   "пустая" строка (при референсах по другому не получится)

3. В WipeDirectory переименование сделано именно переименованием (inplace)
   вместо "перемещения". Это дешевле, исчезает ошибка "восстановления" (при
   невозможности удаления и ответе Skip оставались частично переименованные
   каталоги, да ещё и не всегда на своём месте :), меньше вероятность нарваться
   на "забитость" каталога (при генерации имени временного файла).
   Кроме того. в старой логие оно вооще не могло работать, когда  Opt.TempPath
   на другом диске - MoveFile не позволяет перемещать каталоги между дисками

--------------------------------------------------------------------------------
drkns 2007-11-13 22:45:17+02:00 - build 341

1. Crash in "File owners" panel mode.

2. Quick search with non-latin characters didn't work in panels

3. Unicode-related fixes in the printer selection menu

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Падение в режиме панели "File owners".

2. В панелях не работал быстрый поиск по неанглийским символам.

3. Правки на предмет юникода в меню выбора принтера.

--------------------------------------------------------------------------------
yjh 2007-11-13 09:44:34+03:00

1. Now it is possible to compile a vc7 hook (don't try that at
home :-). It is recommended that you define -DLINK_WITH_ULINK and use
ulink. Otherwise, you'll get less protection and a warning.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Возможность компилировать хук vc7 (для извращенцев :). Очень рекомендую
   в этом случае омпилировать определив -DLINK_WITH_ULINK и компоновать
   ulink'ом. В противном случае, работать-то будет, но меньше степень
   защиты :). О чём будет сообщение при компиляции :)

--------------------------------------------------------------------------------
yjh 2007-11-13 07:06:56+03:00 - build 340

1. FarNameToKey for plugins

--------------------------------------------------------------------------------
yjh 2007-11-13 03:04:15+03:00 - build 339

1. Hook that allows 32bit Far to work with FS in Win64
   correctly (disabling WOW64-fs redirection). By default, it is
disabled; it is enabled only
   when loading DLL or running tasks (for 32bit processes).
   To compile Far without this code, define DISABLE_WOW64_HOOK (for
make).
   It can be correctly linked with ms-link from vc8, or with ulink ver
>= 1.05 build 3.9 (build >= 3.11 recommended, otherwise unnecessary
warning appears).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Hook позволяющий 32хбитовому Far'у корректно работать с FS в Win64
   (отключение WOW64-fs redirection). По умолчанию оно отключено и
   включается только на моменты загрузки DLL/запуска задач (для "штатной"
   работы 32хбитовых процессов).
   При желании собрать Far без этого кода следует определить (для make)
   DISABLE_WOW64_HOOK.
   Корректно это будет компоноваться (и, как следствие, работать) либо
   ms-link не ниже чем от vc8, либо ulink версии >= 1.05 build 3.9 (лучше
   использовать build >= 3.11 - иначе будет ненужное информационное сообщение).

--------------------------------------------------------------------------------
t-rex 2007-11-12 22:58:42+02:00 - build 338

1. A couple of fixes (API, opening help in Far).

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Пару глюков в открытие хэлпа в фаре и в АПЙ.

--------------------------------------------------------------------------------
drkns 2007-11-12 21:59:08+02:00 - build 337

1. Small fixes in the wrapper

2. When manually recording a macro with Ctrl. only the last pressed
key was remembered.

3. Cycling the focus from the first element in a dialog to the last
one resulted in freezing

4. In the Disks menu, it was impossible to display label and file
system at the same time.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Мелкие правки во враппере

2. При записи макроса руками по Ctrl. запоминалась только последняя нажатая клавиша.

3. Цикличный перевод фокуса с первого элемента диалога на последний приводил к зависанию.

4. В меню дисков нельзя было одновременно включить показ метки и файловой системы.

--------------------------------------------------------------------------------
svs 2007-11-12 19:09:32+03:00 - build 336

1. Mantis#0000352: Undo being called by CTRL+Z doesn't work if an
existing file is opened for editing
   Going on...
   ...too little data was saved :-(

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000352: Undo, вызываемое CTRL+Z не работает если открыть существующий файл на редактирование
   Продолжаем...
   ...слишком мало данных сохранялось :-(

--------------------------------------------------------------------------------
svs 2007-11-12 14:51:46+03:00 - build 335

1. FAR crashes in the following cases:

   a) Running FAR without macros in the registry
   b) Running FAR with macros in the registry but as Far.exe /m
   c) Running FAR with macros, deleting them while the FAR session is
active, and calling UpdateMacros.dll plugin later

   when does the crash happen:

   Ctrl. Ctrl. Any_Allowed_Key Enter
   Crash.

2. If we have 2 macros:
   [HKEY_CURRENT_USER\Software\Far\KeyMacros\Shell\F10]
   "Sequence"="F5"
   [HKEY_CURRENT_USER\Software\Far\KeyMacros\Common\F10]
   "Sequence"="F4"

   start FAR
   while on the panel, press Ctrl. Ctrl. F10
   choose "YES"

   again, press Ctrl. Ctrl. F10
   choose "YES"

   press F10 and see the macro still in place; if you press Ctrl.
Ctrl. F10 again, we get the same result

   i.e. a common macro is not removed in this case

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Падает FAR в следующих ситуациях:

   a) Запущен FAR без макросов в реестре
   b) Запущен FAR с макросами в реестре но запущен как Far.exe /m
   c) Запущен FAR с макросами но их удалили во время сеанса FAR и вызвали плагин UpdateMacros.dll

   когда падает:

   Ctrl. Ctrl. Любая_допустимая_клавиша Enter
   FAR упал

2. Пусть у нас есть 2 макроса:
   [HKEY_CURRENT_USER\Software\Far\KeyMacros\Shell\F10]
   "Sequence"="F5"
   [HKEY_CURRENT_USER\Software\Far\KeyMacros\Common\F10]
   "Sequence"="F4"

   запускаем FAR
   находясь на панели жмем Ctrl. Ctrl. F10
   выбираем "ДА"

   ещё раз делаем Ctrl. Ctrl. F10
   выбираем "ДА"

   жмем F10 и видим макрос не снялся если ещё раз сделать Ctrl. Ctrl. F10
   нам опять предлагает удалить...

   те макрос (общий) в такой ситуации не снимается

--------------------------------------------------------------------------------
yjh 2007-11-11 22:33:53+03:00 - build 334

1. corrections in plugin.hpp to work with .c (not .cpp) files

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. plugin.hpp скорректирован для работы с .c (не .cpp) файлами

--------------------------------------------------------------------------------
t-rex 2007-11-10 23:26:42+02:00 - build 333

1. Changes in the wrapper regarding new DialogAPI

2. ViewerInfoW -> ViewerInfo.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Правки во врапере по теме нового DialogAPI и около.

2. ViewerInfoW -> ViewerInfo.

--------------------------------------------------------------------------------
yjh 2007-11-10 20:39:24+03:00 - build 332

1. Fixed memory leak in GETDLGITEM

2. Added DM_GETREALLOC (for the wrapper and DialogManager)

3. WARNING: when getting Item with a dynamic buffer
             (IsEdit(Type) && MaxLen==0)
             the allocated buffer (DataOut) must be freed by a plugin
itself

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Убран memory leak в GETDLGITEM

2. Добавлен DM_GETREALLOC (для враппера и DialogManager)

3. ВНИМАНИЕ: при получении Item с динамическим буфером
             (IsEdit(Type) && MaxLen==0)
             выделенный буфер (DataOut) должен особождаться плагином

--------------------------------------------------------------------------------
t-rex 2007-11-10 19:11:17+02:00 - build 331

1. Little mess-up with CutToSlash in 326.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Напутал с CutToSlash в 326.

--------------------------------------------------------------------------------
yjh 2007-11-10 18:41:37+03:00 - build 330

1. Changes in DialogAPI (aimed at providing a better way to work with
memory for editable strings).
   !!!WARNING!!! (already "ready" plugins need corrections)
***
   Short description of a new API:
    There are 3 fields in FarDialogItem
      const wchar_t* DataIn;
      wchar_t* DataOut;
      size_t MaxLen;
    DataIn - defines all input string data (was in DataPtr)
    DataOut - for fields with editable string (see IsEdit() in
pluging.hpp)
              a pointer to returned data is stored here
              for all other field types, NULL is always returned (see
below)
    MaxLen has two meanings:
       if(MaxLen != 0), then it is the maximum size (including
trailing 0) of a buffer (preallocated by a plugin). Pointer to this
buffer should be passed in DataOut.
       Additionally, it is a maximum length of the input string
(currently not implemented)

       If MaxLen==0, then we assume that all edited strings have
unlimited size. In this case, DataOut
       contains a pointer to dynamically allocated memory (see below)
which must be freed by a plugin itself.

    In functions FSF.Dialog and FSF.DialogEx, an additional parameter
added: pointer to a ReAlloc function.
    which FAR uses to allocate "unlimited" strings (and freeing memory
- see below).
    If no IsEdit fields exist in the dialog, NULL can be passed.

    When processing Dialog/DialoEx, additional check is made for
    DataOut - if MaxLen!=0, then
       IsBadWritePtr(DataOut,MaxLen*sizeof(wchar_t))
    else if MaxLen==0, then ReAlloc cannot be NULL.
        IsBadReadDataIn must be a valid read ptr

    If parameter (for any Item) is invalid, -1 is returned without
processing a dialog

    If after processing a dialog, ReAlloc returns NULL while returning
strings,
    all memory it allocated previously will be freed (using
ReAlloc(ptr, 0);)
    and -1 will be returned.

   When Dialog/DialogEx exits normally, plugin must free previously
allocated memory (all OutPtr's)
   (if memory was dynamically allocated :)

***

2. Removed function FSF.FreeDialogAnsStr - it is not needed anymore

3. Some signed integers removed where they were used inappropriately.
Maybe we should just freeze all changes and fix this completely...

4. A couple of errors in the previous patches revealed while trying to
find the remaining error in using CutToSlash :)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Изменения в DialogAPI (для нормальной работы с памятью редактируемых
   строк).
   !!!ВНИМАНИЕ!!! почти все (уже "готовые" плугины надо править)
***
   Краткое описание нового API:
    В FarDialogItem есть 3 поля
      const wchar_t* DataIn;
      wchar_t* DataOut;
      size_t MaxLen;
    DataIn - задаёт все ВХОДНЫЕ строковые данные (было в DataPtr)
    DataOut - для полей с редактируемоей строкой (см. IsEdit() в pluging.hpp)
              здесь находится указатель на возвращаемые данные.
              для всех остальных типов полей всегда возвращается NULL (см. ниже)
    MaxLen имеет двойное назначение:
       if(MaxLen ), то это максимальный размер (включая закрывающий 0)
       ЗАРАНЕЕ выделенного (плугином) буфера указатель на который должен
       передаваться через DataOut.
       Кроме того, это ограничитель размера для строки ввода (currently not implemented)

       Если же MaxLen==0, то подразумевается, что работа(редактирование) идёт
       со строками с НЕ лимитированным размером. В этом случае в DataOut
       попадает указатель на динамически выделяемую память (см. ниже) которую
       плугин должен особождать сам.

    В ф-циях FSF.Dialog и FSF.DialogEx добавил ещё один параметр - указатель
    на ф-цию ReAlloc. которая используется Far'ом для аллокации "неограниченных"
    возвращаемых "неограниченных" строк (и освобождения памяти - см. ниже).
    В случае отсуствия в диалоге IsEdit полей, можно передавать NULL.

    При обработке Dialog/DialoEx осуществляется дополнительная проверка
    параметра DataOut - если MaxLen, то
       IsBadWritePtr(DataOut,MaxLen*sizeof(wchar_t))
    если же MaxLen==0, то ReAlloc не может быть NULL.
        IsBadReadDataIn должен быть valid read ptr, а DataOut (если Ь

    Если параметр (одного из Item) невалиден, до возвращается -1 БЕЗ исполнения
    диалога.

    Если после "отработки" диалога, при возвращении строк ReAlloc вернёт NULL,
    то будет освобождена вся ранее захваченная им память (через ReAlloc(ptr, 0);)
    и так же возвращена -1.

    При нормальном же завершении Dialog/DialogEx плугин должен сам освободить
    память (все OutPtr) если, конечно, выделял её динамически :)

***

2. Выкинута ф-ция FSF.FreeDialogAnsStr - она теперь не нужна

3. Некоторое (попавшееся по пути :) убирание знаковых целых там где им
   сoвсем не место. По хорошему, надо бы тормознуть все правки и сначала
   навести порядок с этим...

4. Пара ошибок предыдущих патчей обнаруженная в посиках отавшейся ошибки
   в использовании CutToSlash :)

--------------------------------------------------------------------------------
t-rex 2007-11-09 21:34:19+02:00 - build 329

1. Fixed a minor problem in x64 API. I hope this is the last one.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Исправил ещё одни недочёт в АПЙ для x64 версии. Надеюсь что это последний.

--------------------------------------------------------------------------------
t-rex 2007-11-09 18:12:56+02:00 - build 328

1. In UnicodeString::GetBuffer nLength is renamed to nSize.

from Alex Alabuzhev:

2. API 1.7:
   a) Control: all done except:
      - in FCTL_GET[ANOTHER]PANELINFO, PanelItems and SelectedItems
fields are not filled;
      - FCTL_SET[ANOTHER]SELECTION is not implemented, as it depends
on the previous item
   b) MkLink
   c) GetNumberOfLinks
   d) DM_KEY now works correctly
   e) break was missed after VCTL_GETINFO in ViewerControl

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В UnicodeString::GetBuffer nLength переименован в nSize.

от Alex Alabuzhev:

2. API 1.7:
   a) Control: всё, кроме:
      - в FCTL_GET[ANOTHER]PANELINFO не заполняются поля PanelItems и SelectedItems;
      - не реализован FCTL_SET[ANOTHER]SELECTION, т. к. зависит от предыдущего.
   b) MkLink
   c) GetNumberOfLinks
   d) правильно работает DM_KEY
   e) пропущен break после VCTL_GETINFO в ViewerControl

--------------------------------------------------------------------------------
svs 2007-11-09 15:54:24+03:00 - build 327

1. Mantis#0000352: Undo being called by CTRL+Z does not work when
opening an existing file for editing
   The problem is that in 1.7x, Editor::FreeAllocatedData was called
only from destructor of Editor class.
   In 1.8x, the same function is called from FileEditor::LoadFile, and
UndoData array gets deleted.
   As a result, added a temporary workaround: new parameter for
Editor::FreeAllocatedData that enables or disables deleting of
UndoData array.
   We need a better implementation here (also to provide Redo); maybe
we need a doubly connected list instead of an array, or something like
this...

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000352: Undo, вызываемое CTRL+Z не работает если открыть существующий файл на редактирование
   Проблема в том, что в 1.7x Editor::FreeAllocatedData вызывалась только из деструктора класса Editor.
   В 1.8x эта же функция так же вызывается из FileEditor::LoadFile, при этом массив UndoData удаляется.
   В общем, сделал очередную затычку - новый параметр у Editor::FreeAllocatedData - удалять или очищать
   массив UndoData.
   Для номальной работы (в т.ч. и для реализации Redo) необходимо отказаться от массива в пользу
   двусвязанного списка (или еще чего...)

--------------------------------------------------------------------------------
t-rex 2007-11-09 13:18:53+02:00 - build 326

1. Numerous fixes and improvements in the usage of string.GetBuffer().

2. Some unification of space delimiters in sources (tabs vs spaces)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Различные фиксы и улучшения связанные с string.GetBuffer().

2. Немного правок на предмет табы-пробелы в коде.

--------------------------------------------------------------------------------
svs 2007-11-09 11:57:41+03:00 - build 325

1. TVar moved to a separate module tvar.?pp + compiler moved from
macro.cpp to syntax.cpp

2. KeyNameToKey now retruns -1 for a macro language.

3. GetMacroParseError is now a function of Macro class.

4. After 2280.6, $MMode was broken.
   Now $MMode is compiled correctly.
   If for "$MMode 1" we previously had:
     0: MCODE_OP_MACROMODE
     1: '1'
   now we have this:
     0: MCODE_OP_PUSHINT
     1: HIDWORD(1)
     2: LODWORD(1)
     3: MCODE_OP_MACROMODE

5. Mantis#0000351: ACTL_POSTKEYSEQUENCE: pause while running and extra
redrawing.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. TVar вынесен в отдельный модуль tvar.?pp + компилятор из macro.cpp в syntax.cpp

2. KeyNameToKey теперь для макроязыка возвращает -1.

3. GetMacroParseError - теперь функция класса Macro.

4. После 2280 пункт 6 отвалился $MMode.
   Теперь $MMode будет компилится по правилам...
   т.е. если раньше было для "$MMode 1":
     0: MCODE_OP_MACROMODE
     1: '1'
   то теперь все встало на свои места:
     0: MCODE_OP_PUSHINT
     1: HIDWORD(1)
     2: LODWORD(1)
     3: MCODE_OP_MACROMODE

5. Mantis#0000351: ACTL_POSTKEYSEQUENCE: пауза при выполнении и лишняя перерисовка

--------------------------------------------------------------------------------
t-rex 2007-11-07 17:47:14+02:00 - build 324

1. A couple of minor BUGBUG's and some unification of space delimiters
(tabs vs spaces)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Пару мелких BUGBUG и немного правок на предмет табы-пробелы в коде.

--------------------------------------------------------------------------------
zg 2007-11-05 12:04:08+02:00 - build 323

1. Troubles with...
 >       having 2 macros
>      a) in the shell area, Ctrl-CapsLock=CtrlShiftTab flock(1,2)
>      b) in the editor area, Ctrl-CapsLock=CtrlShiftTab flock(1,2)
>
>      0. in shell, we open a file in the editor, and switched back to
> shell
>      1. pressed Ctrl-CapsLock, the macro exists and runs
>      2. macro finishes working, and added Up-Down into a queue for
> VK_CAPITAL (the above mentioned flock(1,2))
>      3. the macro has finished working, but:
>      3.1 Ctrl is in the "pressed" state
>      3.2 Up-Down for CapsLock is coming
>      4. FAR sees CtrlCapsLock in the queue, check that we're in the
> editor, but we have the same macro there, and it runs
>      5. goto 2
>
>      The only solution is a power off switch.

   Hangup fixed. However, when *Lock is physically pressed, we cannot
change its state from within the program; therefore, macros need some
corrections::
   CtrlCapsLock="CtrlShiftTab %a=flock(1,-1)&1;
$while((flock(1,-1)&1)==%a) sleep(50) flock(1,2) $end"

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Траблы с...
     > есть 2 макроса
     > а) в области shell Ctrl-CapsLock=CtrlShiftTab flock(1,2)
     > б) в области редактора Ctrl-CapsLock=CtrlShiftTab flock(1,2)
     >
     > 0. в shell открыли файл в редаторе, переключились снова в shell
     > 1. нажали Ctrl-CapsLock, у нас таки есть макрос, макрос запускается
     > 2. макрос отработал, в конце саданул в очередь Up-Down для VK_CAPITAL (тот самый flock(1,2))
     > 3. макрос закончился, но:
     > 3.1 состояние Ctrl - в "нажато"
     > 3.2 на подходе Up-Down для капслоск
     > 4. ФАР видит в очереди CtrlCapsLock, проверяет, что мы в редакторе, а там такой же макрос тоже есть - начинает работать макрос
     > 5. goto п.2
     >
     > Помогает только кнопка на морде системного блока

   исправлено зависание. но так как во время физического нажатия *Lock программно изменить состояние этого самого *Lock нельзя, то макросы надо чуть доработать:
   CtrlCapsLock="CtrlShiftTab %a=flock(1,-1)&1; $while((flock(1,-1)&1)==%a) sleep(50) flock(1,2) $end"

--------------------------------------------------------------------------------
yjh 2007-11-05 05:01:40+03:00 - build 322

1. To workaround some API inconsistencies, added FSF.FreeDialogAnsStr
   (freeing of kernel-allocated memory for response in DI_EDIT).
   See MacroView for usage example.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Для возможности обхода недоделок в API добавлена FSF.FreeDialogAnsStr
   (освобождение памяти аллоцированной ядром для ответа в DI_EDIT).
   Пример использования можно посмотреть в MacroView

--------------------------------------------------------------------------------
t-rex 2007-11-04 22:41:29+02:00 - build 321

1. A couple of small BUGBUG's fixed (command line and loader)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Исправил пару мелких BUGBUG, в ком строке и запускаторе.

--------------------------------------------------------------------------------
yjh 2007-11-04 22:21:28+03:00 - build 320

1. In FarKeyToName, Size parameter and the returning value are in
symbols, not in bytes.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. В FarKeyToName параметр Size и возвращаемое значение в символах, а не
   байтах.

--------------------------------------------------------------------------------
yjh 2007-11-04 21:33:24+03:00 - build 319

1. Added better implementation of FarKeyToName. API changes are:
   typedef size_t  (WINAPI *FARSTDKEYTOKEYNAME)(int Key,wchar_t
*KeyText,size_t Size);
   Returns total size (with trailing null) copied into KeyText.

   If Size == 0, returns the necessary size.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Добавлена нормальная имплементация FarKeyToName. Изменения в API:
   typedef size_t  (WINAPI *FARSTDKEYTOKEYNAME)(int Key,wchar_t *KeyText,size_t Size);
   Возвращает общий размер (с финальным нулём) скопированный в KeyText.
   Если Size == 0, то возвращает необходимый размер

--------------------------------------------------------------------------------
t-rex 2007-11-01 23:37:35+02:00 - build 318

from chupakabra:

1. While drawing a border of the Information panel for a plugin (Ctrl
+L), BoxSymbols[] is not used.

· · · · · · · · · · · · · · · · · · · · · · · · ·

от chupakabra:

1. При отрисовке рамки вывода информации о панели плагина (Ctrl+L) не используется BoxSymbols[].

--------------------------------------------------------------------------------
t-rex 2007-11-01 22:42:35+02:00 - build 317

from Alex Alabuzhev:

1. API 1.7:
   - ViewerControl
   - several more messages in Dialog API
   - Text: recursion when Str = NULL

· · · · · · · · · · · · · · · · · · · · · · · · ·

от Alex Alabuzhev:

1. API 1.7:
   - ViewerControl
   - еще несколько сообщений Dialog API
   - Text: рекурсия при Str = NULL

--------------------------------------------------------------------------------
svs 2007-11-01 16:57:56+03:00 - build 316

1. Mantis#0000344: Keys to disable macros/autorunning macros upon
startup
   [+] Added command line parameters:
       /m - FAR won't load macros from registry on startup
       /ma - FAR won't execute autorunning macros upon startup

2. Crash if "*.*, ,*.*" is provided as a mask in the file search
dialog

3. In FarEng.hlf.m4, we have some Cyrillic symbols.
   Someone please fix this in a forthcoming patch :-)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Mantis#0000344: Ключи для отключения при запуске макросов / автостартующих макросов
   [+] Добавлены параметры командной строки:
       /m - при старте FAR не будет загружать макросы из реестра
       /ma - при старте ФАР не будет исполнять автостартующие макросы.

2. Падение, если в поисковике файлов в качестве маски указать "*.*, ,*.*"

3. В Хелпе FarEng.hlf.m4 есть русские буковки!
   В очередном патче кто-нить исправьте сей недостаток :-)

--------------------------------------------------------------------------------
t-rex 2007-10-30 20:55:12+02:00 - build 315

from Alex Alabuzhev (plus some corrections from me :):
All this needs heavy testing.

1. API 1.7:
   - DialogEx now works, more or less.
   - AdvControl.
   - in FARKEYSEQUENCEFLAGS, KSFLAGS_REG_MULTI_SZ was missed

· · · · · · · · · · · · · · · · · · · · · · · · ·

от Alex Alabuzhev (с долей исправлений от меня :):
Вообще всё это надо очень хорошо потом протестировать.

1. API 1.7:
   - более-менее рабочий DialogEx.
   - AdvControl.
   - в FARKEYSEQUENCEFLAGS пропущен флаг KSFLAGS_REG_MULTI_SZ

--------------------------------------------------------------------------------
svs 2007-10-29 09:52:31+03:00 - build 314

from _anton_ (?)

1. in plugin.hpp, the second parameter of MakeDirectoryW function is
char*, not
   wchar_t*.

· · · · · · · · · · · · · · · · · · · · · · · · ·

от _anton_ (?)

1. в plugin.hpp второй параметр у функции MakeDirectoryW char* вместо
   wchar_t*.

--------------------------------------------------------------------------------
t-rex 2007-10-28 21:10:05+02:00

1. Small fix in the EXCEPTION section of the license: clarified the
use of headers by plugins. Anyway, use of headers is allowed in the
source of headers themselves, so LICENSE just summarizes this.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Мелкое исправление в EXCEPTION лицензии, неправельный набор слов
   приводил к тому что плагины должны были использовать один или все хидеры
   плагинов а не любой чтоб не попадать под лицензию фара.
   Но полюбому в самих хедерах и так написано что их можно юзать, в LICENSE это
   написано для суммирования.

--------------------------------------------------------------------------------
t-rex 2007-10-28 20:04:06+02:00 - build 313

from Alexandr Zamaraev:

1. Improved GCC build.

--------------------------------------------------------------------------------
t-rex 2007-10-28 17:59:38+02:00 - build 312

1. By Yurij's advice, there is no more limitation on string length in
the viewer/editor history; additonally, this removed some crashes :-)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. По наводке Yurij, в истории редактора\въювера теперь нет ограничения на размер строки,
   ну и за одно падать перестало :).

--------------------------------------------------------------------------------
t-rex 2007-10-28 17:31:13+02:00 - build 311

from Alexandr Zamaraev (Tonal):

1. Builds with GCC 4.2.1

--------------------------------------------------------------------------------
t-rex 2007-10-28 16:37:51+02:00 - build 310

from Alex Alabuzhev:

1. API 1.7:
   a) Dialog (done), DialogEx (without handler) (wrap.cpp)
   b) Menu: user's choice mark (FarMenuItem.Checked>1) didn't encode
to Unicode in the wrapper (wrap.cpp), some deeper problems detected -
type inference to char (vmenu.cpp)

· · · · · · · · · · · · · · · · · · · · · · · · ·

от Alex Alabuzhev:

1. API 1.7:
   a) Dialog (вроде всё), DialogEx (пока без обработчика) (wrap.cpp)
   b) Menu: пользовательская метка выбора (FarMenuItem.Checked>1) во враппере не перекодировалась
      в юникод (wrap.cpp), глубже тоже были грабли - приводилось к char (vmenu.cpp)

--------------------------------------------------------------------------------
svs 2007-10-28 17:00:58+03:00

1. Added SYSLOG-RU file, describing logging in FAR

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Добавлен файл SYSLOG-RU, описывающий элементы логирования в FAR`е

--------------------------------------------------------------------------------
svs 2007-10-28 01:54:39+03:00 - build 309

1. Macro: crash when recording a keyboard sequence

2. KEY_MACRO_BASE moved back to "keys", because of certain problems.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Macro: Падение при записи последовательности с клавиатуры.

2. Вернем обратно KEY_MACRO_BASE в разряд "клавиш".
   Есть проблемы.

--------------------------------------------------------------------------------
svs 2007-10-28 01:15:53+03:00 - build 308

from DrKnS (Alex Alabuzhev):

1. garbage in console when a plugin's dialog is output

2. When certain dialogs were closed, FAR crashed because of non-
initialized variables

3. fixed border at the bottom of the panel (flshow.cpp).

4. Editor: debug version crashed when exiting the editor after saving

5. Editor: path of the saved file was cut incorrectly

6. Editor: UpdateFileList() is not called on exit without saving, if a
new file was opened

· · · · · · · · · · · · · · · · · · · · · · · · ·

from DrKnS (Alex Alabuzhev):

1. при выводе плагинового диалога в заголовке консоли был мусор

2. при закрытии некоторых диалогов фар падал из-за неинициализированных переменных.

3. поправлена рамка внизу панели (flshow.cpp).

4. Editor: падала дебажная версия на выходе из редактора после сохранения

5. Editor: неправильно отрезался путь сохр. файла

6. Editor: если новый файл и вышли без сохр - UpdateFileList() не вызываем

--------------------------------------------------------------------------------
t-rex 2007-10-27 22:08:48+02:00 - build 307

1. After 301, a regression appeared: FEDITLINE_CLEARFLAG wasn't reset
for Edit.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. После 301 всплыл глюк с не вытеранием FEDITLINE_CLEARFLAG у Edit контролев.

--------------------------------------------------------------------------------
t-rex 2007-10-27 20:05:33+02:00 - build 306

1. Optimizied on-screen output of strings in the editor. Great
improvement on very long lines.

2. SHITHAPPENS removed, not used anymore

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Оптимизация вывода строк редактора на экран, очень ощутимо на очень длинных строках.

2. Убрал SHITHAPPENS за ненадобностью.

--------------------------------------------------------------------------------
t-rex 2007-10-27 17:05:41+02:00 - build 305

from chupakabra:

1. Infinite cycle in FarMkTempEx().

2. DeleteFileWithFolder() removes only file but leaves folder intact

· · · · · · · · · · · · · · · · · · · · · · · · ·

от chupakabra:

1. Вход в бесконечный цикл в FarMkTempEx().

2. DeleteFileWithFolder() удаляет только файл и оставляет каталог.

--------------------------------------------------------------------------------
svs 2007-10-27 15:37:28+03:00 - build 304

1. Added MCODE_OP_NOP

2. Better handling of crashes while deleting or playing a macro

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Добавлен MCODE_OP_NOP

2. Уточнения кода по поводу падения во время удаления макроса
   и/или воспроизведенния...

--------------------------------------------------------------------------------
t-rex 2007-10-27 14:18:57+02:00 - build 303

1. Fixes in Debug and GCC builds, removed a couple of warnings.

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Исправил Debug и GCC сборку, и ещё пару варнингов.

--------------------------------------------------------------------------------
svs 2007-10-27 13:15:23+03:00 - build 302

1. Fix in KeyMacro::MkTextSequence.

--------------------------------------------------------------------------------
svs 2007-10-26 19:09:24+03:00 - build 301

Off we go....

1. MCODE_OP_EXPR and MCODE_OP_DOIT removed

2. KEY_MACRO_BASE ... KEY_MACRO_ENDBASE are not "keys" anymore!
   Only KEY_OP_* are still considered "keys"

3. Added _MOUSE_EVENT_RECORD_Dump() into logging

4. Changed SetFLockState
   GetKeyboardState suxx, work in debug version only (@#$%!)
   using our GetKeyState() instead

5. Macro op-codes now begin with 0

6. In macro parser:
   between MCODE_OP_KEYS and MCODE_OP_ENDKEYS, "real keys" exist!
   At the present moment, parseMacroString() wraps each
   "real key", but this will be changed later...
   At the end, we'll have a separate DLL which returns only pure byte
code back to FAR.

7. New parameter in PostNewMacro()
   At the present, we suppose that plugins do not correctly process
macros with "pure" key codes. But this function is not used
exclusively for plugins, so we have to distinguish between different
usage contexts.

9. Problems with...
     having 2 macros
     a) in the shell area, Ctrl-CapsLock=CtrlShiftTab flock(1,2)
     b) in the editor area, Ctrl-CapsLock=CtrlShiftTab flock(1,2)

     0. in shell, we open a file in the editor, and switched back to
shell
     1. pressed Ctrl-CapsLock, the macro exists and runs
     2. macro finishes working, and added Up-Down into a queue for
VK_CAPITAL (the above mentioned flock(1,2))
     3. the macro has finished working, but:
     3.1 Ctrl is in the "pressed" state
     3.2 Up-Down for CapsLock is coming
     4. FAR sees CtrlCapsLock in the queue, check that we're in the
editor, but we have the same macro there, and it runs
     5. goto 2

     The only solution is a power off switch.

· · · · · · · · · · · · · · · · · · · · · · · · ·

Поехали....

1. MCODE_OP_EXPR и MCODE_OP_DOIT удалены как класс.

2. KEY_MACRO_BASE ... KEY_MACRO_ENDBASE ужО не "клавиши"!
   Остались только KEY_OP_*, кторые являются "клавишами"

3. В логирование добавлен _MOUSE_EVENT_RECORD_Dump()

4. Изменена SetFLockState
   GetKeyboardState отстой, работает только в дебажной версии (вот ить!)
   вместо нее юзаем нашу GetKeyState()

5. Хмм... а, ну да, оп-коды макросов теперь навинаются с 0
   (небольшое приближение к...)

6. В парсере макросов.
   между MCODE_OP_KEYS и MCODE_OP_ENDKEYS находятся настоящие клавиши!
   сейчас можем наблюдать фигню типа когда parseMacroString() каждую
   "настояшую клавишу" обрамляет этими кода (избыток!), но
   это промежуточный этап....
   В конце будет отдельный DLL, который ФАРу будет отдавать только байткод.

7. В PostNewMacro() добавлен новый параметр...
   предполагается (сейчас!), что плагины "пидалят" макросы с чистыми
   кодами клавиш!
   Но т.к. эта функция испльзуется не только для плагинов, то...
   ...нужно отличать "где мы".

9. Траблы с...
     есть 2 макроса
     а) в области shell Ctrl-CapsLock=CtrlShiftTab flock(1,2)
     б) в области редактора Ctrl-CapsLock=CtrlShiftTab flock(1,2)

     0. в shell открыли файл в редаторе, переключились снова в shell
     1. нажали Ctrl-CapsLock, у нас таки есть макрос, макрос запускается
     2. макрос отработал, в конце саданул в очередь Up-Down для VK_CAPITAL (тот самый flock(1,2))
     3. макрос закончился, но:
     3.1 состояние Ctrl - в "нажато"
     3.2 на подходе Up-Down для капслоск
     4. ФАР видит в очереди CtrlCapsLock, проверяет, что мы в редакторе, а там такой же макрос тоже есть - начинает работать макрос
     5. goto п.2

     Помогает только кнопка на морде системного блока

--------------------------------------------------------------------------------
t-rex 2007-10-26 14:34:01+02:00 - build 300

1. Are you ready? :)

· · · · · · · · · · · · · · · · · · · · · · · · ·

1. Все готовы? Are you ready? :)

---------------------------------------
Entries 145-300 are not translated yet.
---------------------------------------

--------------------------------------------------------------------------------
t-rex 2007-10-26 14:27:32+02:00 - build 300

1. Изменил билд, с этого билда Open Source. Да и вообще красивый номер билда :)

--------------------------------------------------------------------------------
t-rex 2007-10-25 23:59:44+02:00

1. Файл CONTRIBUTORS.

2. Обновил доки.

--------------------------------------------------------------------------------
svs 2007-10-25 19:02:31+03:00 - build 299

1. Удалил мусорные комменты.
   Билд изменил для того, чтобы в репозитарии ЭТО было отдельным пунктом.

   Вроде ни где не промахнулся :-)

--------------------------------------------------------------------------------
Zuz 2007-10-22 12:09:48+05:00 - build 298

1. Mantis#000337: сразу не обновлялась панель с открытой на ней шарой при удалении одного файла
даже когда её просили по UIC_UPDATE_FORCE

--------------------------------------------------------------------------------
svs 2007-10-18 22:07:16+03:00 - build 297

1. Editor: Падает, гад.
   Имеем файл (символ '*' - обозначим концы строк)
     +----------------------+
     |1 2 3*                |
     |3 4 5 6*              |
     |*                     |
     +----------------------+

   настройки редактора:
    [x] Persistent blocks
    [ ] Del removes blocks
    [x] Cursor beyond end of line

   Последовательность действий:
     Выделяем символ '6'
     End
     Del
     Up
     Del
     упали.

   В Editor::DeleteString() после "BlockStart=BlockStart->m_next;" не
   проверялся  BlockStart на NULL, но был вызов "BlockStart->IsSelection()".

2. Добавлена обработка клавиш NumLock, CapsLock, ScrollLock с модификаторами.

3. Macro: добавлена функция FLock()
    N=FLock(Nkey,NState)
       Nkey:
          0 - NumLock
          1 - CapsLock
          2 - ScrollLock

       State:
         -1 get state
          0 off
          1 on
          2 flip

     Windows NT/2000/XP: The keybd_event function can toggle the NUM LOCK, CAPS LOCK, and SCROLL LOCK keys.
     Windows 95/98/Me:   The keybd_event function can toggle only the CAPS LOCK and SCROLL LOCK keys. It cannot toggle the NUM LOCK key.

4. Небольшая перетасовко-перегруппировка кода в macro.cpp

--------------------------------------------------------------------------------
svs 2007-10-15 18:51:33+03:00 - build 296

1. Ctrl-: и Ctrl-Alt-: - приводим к соответствию, к Ctrl-; и Ctrl-Alt-;

2. Bug: Во вьювере при отключенном постоянном выделении после внесения
        воздействия выделение не снимается.

3. Mantis#0000303: Названия кнопкосочетаний с модификаторами
   Обнаружилась ещё одна нерегулярность в том же духе: ` vs ~

--------------------------------------------------------------------------------
svs 2007-10-15 11:27:58+03:00 - build 295

1. Снова 2269 :). Правда уже во вьювере.
   ViewY1 теперь ненужна (была нужна только на тот случай, когда Viewer учитывал статусную строку)
    "...если вьювер окрывается сразу в hex,... первая строка за статусной скрыта... не достанешь"

--------------------------------------------------------------------------------
t-rex 2007-10-13 23:08:51+02:00

1. Добавил файл MAINTAINERS. Посмотрите там что всё как надо.

--------------------------------------------------------------------------------
t-rex 2007-10-13 20:32:18+02:00 - build 294

289 всё ещё даёт о себе знать:

1. Oчень заметно на примере плагина Visualizer (CtrlEnd или Down на нижней строке).

1. После CtrlY на предпоследней строке в файле (если файл
   занимает больше чем один экран) неправильно выставлялся TopScreenLine.

2. Прошелся по всем местам где есть Y2-Y1, нашел ещё одно место где теоретически могло глючить.
   Бум надеяться что больше 289 о себе не даст знать.

--------------------------------------------------------------------------------
svs 2007-10-12 14:37:59+03:00 - build 293

1. Mantis#0000206: Некорректная работа переноса по словам в "Программе просмотра"
   как я и подозревал - кривая инициализация строки.

2. Mantis#0000335: Нельзя набрать символ ']'
   Опираясь на фразу из хелпа
   "Кроме обычных символов в имени файла также можно использовать символы '*' и '?'"
   сделаю грязный хак :-)
   1. В XXX::FindPartName() добавляем параметр ExcludeSets, который говорит о том,
      чтобы не учитыват наборы (в квадратных скобках)
   2. Т.к. юзается CmpName(), то пере ее вызовом изменим маску поиска, заменив
      '[' на '[[]' и ']' на '[]]':

       ReplaceStrings(Mask,"[","<[%>",-1,1);
       ReplaceStrings(Mask,"]","[]]",-1,1);
       ReplaceStrings(Mask,"<[%>","[[]",-1,1);

      '<[%>' - это типа "уникальная последовательность", наличие которой в оригинальной
               маске как бы не должно быть.
               без нее получим кривизну, если заюзаем

                 ReplaceStrings(Mask,"[","[[]",-1,1);
                 ReplaceStrings(Mask,"]","[]]",-1,1);

               второй реплейс криво отработает.

3. Избавился в FileList::FindPartName() от malloc. Применяем "string".
   усекаю строку strMask на 1 символ:

     strMask.SetLength(strMask.GetLength ()-1);

   Если не так, исправьте, что в курсе ;-)

4. Уточнение в хотплюгах по поводу хилайта

--------------------------------------------------------------------------------
svs 2007-10-12 10:55:15+03:00 - build 292

1. В 289 забыл про АПИ (это про "Editor должен работать в пределах X1,Y1,X2,Y2...")

2. Mantis#0000303: Названия кнопкосочетаний с модификаторами
   Ctrl-" и Ctrl-: забыл...

3. Mantis#0000326: QView, Info: ItemCount, CurPos, Selected, Bof, Eof всегда 0; Empty всегда 1
   Теперь: Bof/Eof/Empty/Selected - если в панелях, но в QView/Info/Tree, то возвращается
   значение для этих типов панелей, иначе - для ком.строки.

4. API: ListBox не реагировал на выбор мышкой, если был выставлен режим LMRT_NEVER.

5. Macro: Добавлен MacroArea - возвращает имя текущей макрообласти.

6. Alt-Shift-F9 - не сохранялось значение опции "Lock editing of read-only files"

--------------------------------------------------------------------------------
svs 2007-10-11 11:44:09+03:00 - build 291

1. Mantis#0000106: Экран уезжает вправо после PgDn

   Проблема в следующем. Сначала код.

   Editor::ShowEditor
     if (!EdOpt.CursorBeyondEOL)
     {
       CurLine->SetLeftPos(0);
       Здесь LeftPos =  0
   (а)>>  CurLine->FastShow();
       Здесь LeftPos != 0
     }

   Edit::FastShow()
   (б)>>  EditLength=ObjWidth;

    if (!Flags.Check(FEDITLINE_DROPDOWNBOX))
    {
      if (TabCurPos-LeftPos>EditLength-1)
        LeftPos=TabCurPos-EditLength+1;
      if (TabCurPos<LeftPos)
        LeftPos=TabCurPos;
    }

   Теперь описание :-)
   1. Начинаем открывать файл в редакторе.
   2. Читаем построчно, создавая при этом связанный список строк
      (используется Editor::CreateString)
   3. Т.к. класс Edit основан на ScreenObject, то ObjWidth=0
   4. в (б) EditLength=0
   5. ...
   Когда по строкам "пробежались", то... ObjWidth нормализуется
   и в последующем для этого открытого файла баг пропадает.

   Делаем следующее. В Editor::CreateString задаем изначальное значение
   X1 и X2 (Y1 и Y2 нам здесь на этом этапе ненужен)

2. Воркэраундд для strmix.cpp::IsWordDiv()
   Вместо возврата FALSE проигнорируем параметр TableSet и просто
   тупо поищим Chr в массиве WordDiv.
   Потом это надо уточнить. Уточнялка занесена в REMINDER.

--------------------------------------------------------------------------------
svs 2007-10-09 20:31:33+03:00 - build 290

1. Mantis#0000333: Не работает Lock editing Read-only files
   напутал с логикой.

--------------------------------------------------------------------------------
svs 2007-10-09 19:41:37+03:00 - build 289

1. Editor должен работать в пределах X1,Y1,X2,Y2. В коде замечем-то есть коррекция
   на статусную строку, за которую должен отвечать FileEditor.
   Как побочный эффект:
   [+] Комбинация Ctrl-Shift-B в редакторе и программе просмотра показывает или
   скрывает статусную строку.

--------------------------------------------------------------------------------
svs 2007-09-13 20:08:20+03:00 - build 288

1. Mantis#0000327: [X] Save bookmarks не работает без [X] Save file position
   Сделаем автоблокировку второго пункта (Save bookmarks), т.к.
   он сейчас зависим от первого.

2. В диалоге настройки вьювера небольшие изменения:
   - постоянное выделение уехало вверх (чтобы быть похожим на конфигурирование редактора)
   - по аналогии с настройками редактора "Save bookmarks" уехал вверх-вправо
   - та же сама автоблокировка пункта "Save bookmarks"

3. API: добавлены DM_SETCOMBOBOXEVENT и DM_GETCOMBOBOXEVENT.
   позволяют управлять (FARCOMBOBOXEVENTTYPE) посылкой событий клавиатуры и мыши
   в диалоговую процедуру для открытого комбобокса.

4. API: Для элемента DI_COMBOBOX теперь в ответ на сообщения DM_LIST???? строка
   редактирования не изменяется при навигации по элементу.

--------------------------------------------------------------------------------
svs 2007-09-07 20:27:01+03:00 - build 287

1. Mantis#0000293: Дополнение DI_COMBOBOX
   [+] API: Добавлены события DN_KEY или DN_MOUSEEVENT, которые посылаются
       в процедуру обработки диалога при навигации по DI_COMBOBOX

--------------------------------------------------------------------------------
svs 2007-09-07 09:36:31+03:00 - build 286

1. Mantis#0000303: Названия кнопкосочетаний с модификаторами
   [*] Macro: Изменены названия сочетаний клавиш с модификаторами:
       вместо `:` теперь `;`, а вместо `"` теперь `'`. Это относится
       ко всем комбинациям модификаторов, кроме одиночного Shift.

--------------------------------------------------------------------------------
svs 2007-09-06 15:54:45+03:00 - build 285

1. "Не удалось открыть файл" -> "Ошибка открытия файла"
   уже не помню какой-там мантис...

2. Другой вариант переключения раскладки в XLat и $KbdSwitch
   (взято с форума)

--------------------------------------------------------------------------------
Zuz 2007-09-05 00:52:11+05:00 - build 284

1. For elimination of effects of Vista virtualization technology the manifest file has been added

--------------------------------------------------------------------------------
t-rex 2007-09-01 23:04:03+02:00 - build 283

1. Bug in OEM to UNICODE conversion in UnicodeString.cpp.

2. Revert copyright.inc.m4.

--------------------------------------------------------------------------------
zg 2007-09-01 22:55:45+02:00 - build 282

1. проблема с ".." в папках, в которых он отсутствует.
   например линкуем диск в папку.

--------------------------------------------------------------------------------
t-rex 2007-09-01 21:41:06+02:00

1. Preparing for open source:
   - added BSD license to all source files
   - added an exception to the license for plugin api header files
   - added LICENSE file with the BSD license including the exception for plugins

2. Removed some unneeded files.

--------------------------------------------------------------------------------
warp 2007-09-01 20:33:00+03:00 - build 281

1. В несколько раз уменьшил потребление памяти на панелях (это к вопросу "а вот Far жрет аж 191 мб").

2. Под это дело резко всплыла целая пачка глюков с падениями и прочими косяками, какие всплыли - починил, остальные
   видимо всплывут еще.

--------------------------------------------------------------------------------
t-rex 2007-09-01 15:59:22+02:00

1. Added a README-EN file for our new member and for the future open source community.

--------------------------------------------------------------------------------
svs 2007-08-30 19:06:59+03:00 - build 280

1. 0000324: GetHotkey() возвращает "0"
   [-] Macro: Если пункт меню не содержит горячую клавишу, то GetHotkey() возвращает "0" вместо ""

2. 0000325: $SelWord выделяет лишнее знакоместо в конце строки
   [-] Macro: $SelWord выделяет лишнее знакоместо в конце строки

3. 0000326: QView, Info: ItemCount, CurPos, Selected, Bof, Eof всегда 0; Empty всегда 1
   [-] Macro: В панелях быстрого просмотра и информации не работали некоторые переменные:
       ItemCount, CurPos, Selected, Bof, Eof всегда 0; Empty всегда 1.

4. Код возврата функций VMProcess теперь будет __int64

--------------------------------------------------------------------------------
yjh 2007-08-28 14:49:21+03:00 - build 279

1. Issue 313, У форточек сносит крышу при попытке сделать
   GetFileAttributes("..") когда находишся в корне UNC-заданного диска.

--------------------------------------------------------------------------------
svs 2007-08-24 20:05:59+03:00 - build 278

1. Mantis#0000318: Опция - Восстановить размеры панелей
   Добавлена комбинация для панелей Ctrl-Shift-Num5 - "по высоте"
   размеры панелей будут восстановлены до Командной строки
   Работать будет пока только при TI#48 (UseNumPad=1)

--------------------------------------------------------------------------------
svs 2007-08-24 15:02:24+03:00 - build 277

1. Mantis#0000316: Не работает копирование строки

2. Mantis#0000259: Выделить до первой/последней строки

--------------------------------------------------------------------------------
svs 2007-08-24 14:07:42+03:00 - build 276

1. Баг в диалоге (http://forum.farmanager.com/viewtopic.php?p=26515#26515)
   юзер нажал F4 {
     диалоговый менеджер послал плагину DN_KEY, F4 {
       плагину послал DM_CLOSE {
          диалоговый менеджер погасил диалог и приготовил всё необходимое
          для удаления внутренних элементов и т.п., т.с. Leave
       }
     }
     управление вернулось в менеджер и он продолжил анализ клавиши,
     дошел до комбобокса и послал клавишу строке редактирования
     (комбобокс состоит из 2-х обхектов!), та вязала и перерисовалась
   }

--------------------------------------------------------------------------------
Zuz 2007-08-24 15:24:49+05:00 - build 275

1. Не работал KEY_DECIMAL при UseNumPad=0

2. Игнорировались клавиши в диалоге назначения клавиш для макросов интервале
INTERNAL_KEY_BASE > KEY < INTERNAL_KEY_BASE_2, что привело к тому, что Decimal, NumDel
и т.п. не могли быть корректно назначены и ряду других интересных эффектов.

3. В KeyText (keyboard.cpp) неправильно инициализировалась переменная, что приводило
к эффекту добавления мусора для клавиш модификаторов.

--------------------------------------------------------------------------------
svs 2007-08-22 14:14:37+03:00 - build 274

1. Mantis#0000321: диалог ошибки открытия файла выдаётся не на панелях а в редакторе
   Проблема в том, что Editor::SetCodePage вызывал Show()
   Нарисовал в FileEditor::Init() приватный класс SmartLock, который лочит
   ScreenObject от прорисовки.

2. Потенциальная утечка памяти в FileList::ProcessKey().
   В 1.70 похоже так же есть...
   если при вызове редактора была ошибка - то ShellEditor в список манагера не попадает
   (оно вызывается через new)
   Соответственно вызов "FrameManager->ExecuteModal();" ничего не меняет (манагер не
   удалит объект!)
   Тупо проверить "ShellEditor->GetExitCode()" на "XC_OPEN_ERROR" - этого мало,
   т.к. кодов возврата несколько...

--------------------------------------------------------------------------------
svs 2007-08-14 14:30:43+03:00 - build 273

1. NumDecimal не отрабатывал в редакторе

2. Внутренние добавки для проекта "Флаги редактора"

--------------------------------------------------------------------------------
Zuz 2007-08-12 22:19:19+05:00 - build 272

1. Опять Mantis#0000176 не доконца перенёс патч, вообще артефактов при обновлении
панелей на медленных соединениях хватает, кто бы занялся ;-)

--------------------------------------------------------------------------------
Zuz 2007-08-11 16:50:52+05:00 - build 271

1. Mantis#0000176: Двойное сканирование после cd path, логический фикс
2. В flupdate.cpp (FileList::ReadFileNames) рамка криво рисовалась для
сообщения MReadingFiles, пока сформировал её с помощью MakeSeparator

--------------------------------------------------------------------------------
svs 2007-08-07 22:06:56+03:00 - build 270

1. Ctrl+/Ctrl- - траблы с пометкой в панелях.
   Переменную нужно инициализировать!

--------------------------------------------------------------------------------
svs 2007-08-07 14:33:55+03:00 - build 269

1. Mantis#0000309: DM_LISTSETMOUSEREACTION с флагом LMRT_NEVER - не приходят клики мыши
   Двойной клик мыши просто не учитывался. добавил.

--------------------------------------------------------------------------------
svs 2007-08-07 12:59:42+03:00 - build 268

1. Mantis#0000310: Сброс сохраненной позиции во View'ere
   бага стара как мир... :-(

2. В setattr.cpp косметика - для удобоваримости и понятности имен переменных.

3. viewer.cpp - принудительная очистка массива BMSavePos.

4. Macro: макросы, назначенные на Модификаторы+Decimal записывались, но не
   воспроизводились.

5. Mantis#0000158: _FAR_USE_FARFINDDATA и Релиз 1.70
   Здесь _FAR_USE_WIN32_FIND_DATA вообще не юзаем - вычеркиваем.

--------------------------------------------------------------------------------
svs 2007-07-24 21:54:22+03:00 - build 267

1. Mantis#0000073: Не работает автоскролинг в QView

   WaitInMainLoop - "мы в основном цикле (в панелях)?". Если в панелях,
   то в GetInputRecord() не пашет механизм "холостого пробега" (if (WaitInMainLoop))
   Посему, для QView недостаточно проверки на панели - IsPanelsActive().
   Уточним сей факт.

2. Для раздела "@Viewer" в хелпах добавлена информация об автоматическом скроллинге.
   (В FarEng.hlf.m4 появились русские буковки!!!)

--------------------------------------------------------------------------------
svs 2007-07-23 16:57:14+03:00 - build 266

1. Добавка к Dialog API. DM_[S|G]ETEDITPOSITION - управление позицией сктроки в строках
   ввода в диалогах. Добавка к DM_[S|G]ETCURSORPOS.
   В качестве Param2 принята структура EditorSetPosition, чтобы в будущем команды так же
   работали и на MI_MEMO.

--------------------------------------------------------------------------------
t-rex 2007-07-21 01:14:38+02:00 - build 265

1. В режиме колонки NR AltHome не прокручивал строки в начало.
   По идеи это был баг но например в режиме NR,Z этот "баг" давал возможность вернутся
   к оригинальному выравниванию после того как покрутили (чего теперь незя сделат)
   но вроде это все ровно баг.

--------------------------------------------------------------------------------
svs 2007-07-09 15:04:41+03:00 - build 264

1. [-] Macro: не работали конструкции Eof/Bof/etc в программе просмотра.

--------------------------------------------------------------------------------
yjh 2007-07-08 08:17:24+03:00 - build 263

1. Для поиска файлов признак использования фильтра запоминается в registry

--------------------------------------------------------------------------------
t-rex 2007-07-07 22:42:39+02:00 - build 262

Несколько патчей от 1.71, надеюсь что ничего не потерял по дороге.
Патч про вистовые симлинки из 2226 пока что решил не делать так как
я там такие костыли наделал что сюда переносить их не хочется.
Надо подумать как это красиво сделать.

1. Mantis#263 - ".." не всегда красились (а точнее когда мы их добавляли в ручную).

2. Mantis#0000275: В диалогах при обработке DIF_CENTERGROUP выставлялся
   X1 но не X2 что приводило к проблемам как минимум с DI_TEXT так как
   недавно для него стал учитыватся также и X2.

3. Сохраняем фильтры только если AutoSaveSetup или юзер нажал Shift-F9.
   Это вписывается в общюю логику работы с реестром у фара.

--------------------------------------------------------------------------------
t-rex 2007-07-07 15:51:04+02:00 - build 261

1. Исправил не сохранение MarkChar в диалоге раскраски. С диалогами надо что то решать.

--------------------------------------------------------------------------------
warp 2007-07-07 15:04:00+03:00 - build 260

1. Это, типа, ребрендинг. Задолбали имена вида LocalXXXX и мешанина с __cdecl/__stdcall.
   Строковые функции теперь имеют вид StrLength/StrCmp/StrCmpI/StrCmpNI и т.п. и все они
   __cdecl. Для FAR API эти же функции обернуты в __stdcall заглушки (__cdecl варианты
   удобно использовать в сортировке напрямую, да и разделения на внутренние/внешние функции
   это правильнее). wcscmp/wcslen считаются врагами народа. Ожидаются осадки.

2. Часть функций FAR_XXX переименовалось в apiXXX.

2yjh: и нет, я пока не починил диалоги на предмет настройки фильтров, но пока помню. :-)

--------------------------------------------------------------------------------
yjh 2007-07-07 06:57:11+03:00 - build 259

1. Убрана бага в TranslateKeyToVK в части обработки VK_Fn и прочих
   EXTENDED/INTERNAL кнопок.

2. Убран гнуснейший удар по памяти (стеку!) в Manager::CountFramesWithName.
   Это то из-зачего релиз гробился по выходе из вьювера вызванного из proclist
   Вот за такое кодирование точно надо запрещать автору пользоваться Cшными
   кастингами :(((

--------------------------------------------------------------------------------
svs 2007-07-06 17:44:20+03:00 - build 258

1. Mantis#0000304: DM_LISTGETCURPOS для отмененного комбобокса.
   Блин, перебор в трех местах вышел...

--------------------------------------------------------------------------------
t-rex 2007-07-06 01:31:09+02:00 - build 257

1. Ну так как все молчат - удалил нафиг регистрацию.

--------------------------------------------------------------------------------
svs 2007-07-05 17:36:55+03:00 - build 256

1. Mantis#0000289: прорисовка сообщения обрезана при выволнении макро

2. Mantis#0000304: DM_LISTGETCURPOS для отмененного комбобокса.

--------------------------------------------------------------------------------
svs 2007-07-05 11:37:11+03:00 - build 255

1. Mantis#160 - Хочется F3 и F5 на дисках.
   В обчем репорт извернули в сторону Macro.gethotkey() :-)

   S=gethotkey(N)
   где N - нужная позиция в списке от 1 (0 - текущая)
       S - либо "", если хоткея нет или N > количества пунктов в меню или это не меню;
           иначе S = сам хоткей.

--------------------------------------------------------------------------------
Zuz 2007-07-03 14:10:47+05:00 - build 254

Mantis#223 - вернул возможность уставливать дату/время для каталогов на FAT/FAT32
локальных дисков под WinNT+ (нужно для тех же флешек, например), для сетевых дисков
ошибка теперь тихо игнорируется.

--------------------------------------------------------------------------------
warp 2007-06-28 05:33:00+03:00 - build 253

1. Крайней экспериментальный фикс. Из Plugin::OpenPlugin убрано выставление
   текущей папки, не похоже, что оно реально требуется, но оно порождает ситуацию,
   когда текущей оказывается неверная папка (когда в плагине текущая папка
   имеет такое же имя, как реально существующая).

--------------------------------------------------------------------------------
yjh 2007-06-28 02:07:17+03:00 - build 252

1. Убрана ошибка "переполнения" в рассчётах времени/скорости при копировании
   и изменена (упрощена) логика учёта времени ожидания ответов пользователя
   в ситуации ошибок при копировании.
   Сейчас общее время операции учитывает время ожидания, а оставшееся время
   и средняя скорость - нет.

--------------------------------------------------------------------------------
svs 2007-06-26 20:15:33+03:00 - build 251

1. Mantis#286 - Порча бинарных файлов при сохранении встроенным редактором.
   Mantis#295 - Пропуск символов при смешанных переводах строк

   пробуем...

--------------------------------------------------------------------------------
svs 2007-06-26 19:37:17+03:00 - build 250

1. Mantis#287 - Не воспринимаются переменные начинающиеся с цифр

--------------------------------------------------------------------------------
svs 2007-05-31 20:18:55+03:00 - build 249

1. Macro: добавлена функция Panel.SetPosIdx - позиционирование
   на файловой панели по индексу.

2. В WaitKey добавлена задержка на 50ms - иначе при CAS наблюдается
   повышенная "возбужденность" FAR`а в таскманагере.

--------------------------------------------------------------------------------
svs 2007-05-15 10:29:18+03:00 - build 248

1. Для "System/UseNumPad=1" НЕ понадобятся макросы, т.к.
   все продублировано.

2. Macro: имена переменных, начинающихся с числа не воспринимаются.
   Например, %3Proc.

--------------------------------------------------------------------------------
svs 2007-05-11 15:39:28+03:00 - build 247

1. Mantis#0000232: Различать Del и NumDel, Enter и NumEnter
   Для "System/UseNumPad=1" понадобятся макросы:

   REGEDIT4

   [HKEY_CURRENT_USER\Software\Far\KeyMacros\Common\NumEnter]
   "Sequence"="Enter"
   "DisableOutput"=dword:00000001

   [HKEY_CURRENT_USER\Software\Far\KeyMacros\Common\CtrlNumEnter]
   "Sequence"="CtrlEnter"
   "DisableOutput"=dword:00000001

   [HKEY_CURRENT_USER\Software\Far\KeyMacros\Common\ShiftNumEnter]
   "Sequence"="ShiftEnter"
   "DisableOutput"=dword:00000001

   Появились новые клавиши: NumEnter, Decimal/NumDel (в зависимости от состояния
   NumLock)

2. macro:post eval("AltF1") не работал; конструкция превращалась в Alt00000

--------------------------------------------------------------------------------
svs 2007-05-10 14:38:34+03:00 - build 246

1. Macro: добавлены функции asc и chr.

--------------------------------------------------------------------------------
svs 2007-05-08 15:47:40+03:00 - build 245

1. Забыл в прошлый раз про Automation в диалоге SystemSettings

2. "TreeFileAttr" можно задавать. По умолчанию FA_HIDDEN.

3. В farconst.hpp до бавлены закомменченные определения DRIVE_*

4. Macro: PlayMacro переименован в Eval и в нем же обнаружена бага -
   нужно снимать флаг MFLAGS_REG_MULTI_SZ перед парсением...

--------------------------------------------------------------------------------
svs 2007-04-24 20:55:54+03:00 - build 244

1. Mantis#279 - Редактор не позиционируется на новый файл после сохранения
      macro:post ShiftF4 1 Enter F2 CtrlF10 Esc
      не позиционирует на созданный файл

   В обчем вроде как... но при большом объеме каталога будут тормоза.
   Здесь проблема в том, что поиск файла ведет на VFS (на панели), а т.к.
   панель еще не апдейтилась, то, соответственно про этот новый файл
   ни кто ничего не знает.

2. Bug с удалением в корзину с последующей очисткой.
   Напихали в каталог симлинков. Грохнули каталог в корзину.
   Теперь, если корзину очистить, то киляется все, что было в этих
   симлинках.
   Здесь тупо вводим опцию "Delete symbolic links". Если она включена,
   то перед килянием каталога в корзину сканим подпапки на предмет симлинков
   и эти самые симлинки удаляем.
   Говорят Виста в этом плане умнее будет - ХЗ, поверим на слово, но мезханизм
   сканирования все же оставим :-)

   Здесь затронуты хелпы - нужен перевод!

--------------------------------------------------------------------------------
svs 2007-04-23 16:25:20+03:00 - build 243

1. MFLAGS_LABELPRESENT - в морг. вместо него будет MFLAGS_REG_MULTI_SZ

2. +API::FARKEYSEQUENCEFLAGS::KSFLAGS_REG_MULTI_SZ

3. Как следствие - Sequence может иметь тип REG_MULTI_SZ.

4. Небольшая добавка в виде операторов ">>" (shr) и "<<" (shl)
   У них приоритет такой же как и у "+" и "-".

5. Отучение от внутреннего цикла для MCODE_OP_EXPR.
   Теперь MCODE_OP_EXPR и MCODE_OP_DOIT пережитки прошлого.

6. В KeyMacro::FARPseudoVariable в паре мест были пропущены "break;"

7. В KeyMacro::GetKey - вместо MCODE_OP_LT (и подобных) нужно было
   MCODE_OP_JLT

--------------------------------------------------------------------------------
warp 2007-04-17 03:20:36+03:00 - build 242

1. Падение хелпа при нажатии Shift-F2. Это жесть.

2. Зависания хелпа при попытке открыть пункт в том самом Shift-F2.
   А реально - баг в DeleteEndSlash, мог всплывать и еще где-то.

--------------------------------------------------------------------------------
t-rex 2007-04-15 20:25:36+02:00 - build 241

1. Wrapper: Начальная реализация панельного АПЙ. Иногда даже работает :)

--------------------------------------------------------------------------------
t-rex 2007-04-15 03:23:58+02:00 - build 240

1. Не грузились плагины из кэша.

--------------------------------------------------------------------------------
warp 2007-04-10 13:30:00+03:00 - build 239

1. Вернул на скорую руку хранение ANSI вариантов строк для .lng файлов.
   Colorer x1.7 теперь даже показывает в меню строки.

--------------------------------------------------------------------------------
svs 2007-04-09 20:58:47+03:00 - build 238

1. Bug: В обработчике MCODE_OP_SAVE сначала нужно вытащить из стека значение,
        а потом остальным заниматься.

2. Добавлены макросы логирования:
   SYSLOG_KEYMACRO_PARSE/_KEYMACRO_PARSE()  - для парсера макросов
   SYSLOG_YJH/_YJH()                        - для Харона :-)

3. Остальное по мелочам - антураж при логировании макросов, etc.

--------------------------------------------------------------------------------
svs 2007-04-08 20:55:06+03:00 - build 237

0. В проект добавлены файлы TVMStack.cpp и TVMStack.hpp
   (реализация стека).

1. Нормальная реализация стека в макросах - был полный бардак,
   как работало раньше - ХЗ. Например, $Text брал текст из вершины
   стека, но не удалял из стека это значение...
   Это позволило решить проблему с кодом возврата PlayMacro и,
   на будущее, исключить некоторые новые баги.

2. Если при исполнении $Text в стеке ничего нет (например, макрос
  "$Text _"), то ничего и не исполняется.

3. В ряд классов добавлены функции XXX::VMProcess()

4. В клавиши добавлен блок KEY_OP_BASE.
   В него входят аналоги некоторых макроопераций, которые невозможно
   исполнять в VMProcess (например, придется дублировать код из
   ProcessKey).
   Имя таких аналогов начинается с KEY_OP_???
   Макродвижок сам подменяет макрокод на код нужной клавиши.

   Эта добавка (как и предыдущие и последующие) - небольшие
   продвижения к...
   ...конечная цель: макрокоды должны иметь свои коды, отличные
   от кодов клавишь.
   В будущем все обычные клавиши в байткоде будут ограничены кодами
   MCODE_OP_KEYS и MCODE_OP_ENDKEYS.

5. В редакторе добавлена обработка концов строк "\r\r\n"
   Увидеть такое чудо можно вот так:
     ping localhost > file.txt
   Сохранение (SaveAs) с таким окончанием строк не предусмотрен.

6. Локальная таблица переменных в макросах... по аналогии с 1.7x

7. Вроде как макросы заработали :-)
   За исключением $SelWord - здесь нужно привести к юникоду
   функцию strmix.cpp::CalcWordFromString()

--------------------------------------------------------------------------------
svs 2007-04-04 14:32:04+03:00 - build 236

1. Бага - постоянно собрасывается на английский
   Как повторить:
   - Выбираем русский язык интерфейса и справки;
   - Язык нормально меняется;
   - Выходим из FAR (установлен крыжик "Автосохранение настроек");
   - Загружаем FAR - язык русский;
   - Выходим из FAR;
   - Загружаем FAR снова и видим, что язык сбросился в английскй. Язык справки при этом не сбрасывается.

--------------------------------------------------------------------------------
svs 2007-04-04 13:12:18+03:00 - build 235

1. Бага в EnumRegValueEx.
   Первый вызов RegEnumValueW выставлял ValSize в правильное значение, но
   для второго вызова этого размера было маловато и в итоге получали
   ERROR_MORE_DATA.

2. С макросами пока засада... думаю.

--------------------------------------------------------------------------------
svs 2007-04-03 21:27:41+03:00 - build 234

1. Фигня была с языками.
   Например, убили FarEng.lng, в реестре при этом стоит Language/Main="English"
   Грузимся. Видим русский интерфейс.
   set FARLANG
   видим "English".

2. Mantis#0000092: Переопределение лейбов функциональных клавиш
   Ну, это фича, давно востребованная... В общем работает. :-)
   [HKCU\Software\Far\KeyLabels\ЯЗЫК\ОБЛАСТЬ]
   "ИМЯКЛАВИШИ"="Значение"

   Здесь
     ЯЗЫК       - так, как написано в LNG-файле, например,
                  English или Russian, т.е. тот, который в параметре
                  ".Language" идет первым после "=" и до ","
     ОБЛАСТЬ    - область действия в терминологии macro.
                  Понимаем области: Shell, Help, Edit, View, QView, Tree, Info
     ИМЯКЛАВИШИ - так, как они описываются в макросах.
                  Понимаются только функциональные "*F?" (что естественно :-))

2Warp: Бадья с EnumRegValueEx и EnumRegValue.
       второй RegEnumValueW возвращает
       #define ERROR_MORE_DATA                  234L    // dderror

       И в config.cpp вот это глянь
      {1, REG_SZ,     NKeyLanguageW,L"Main",&Opt.strLanguage, 0, InitedLanguage},

      в общем... все, что связано с InitedLanguage :-)

--------------------------------------------------------------------------------
t-rex 2007-04-02 08:07:13+02:00 - build 233

1. Wrapper: Теперь работает Menu.

--------------------------------------------------------------------------------
t-rex 2007-04-02 05:23:47+02:00 - build 232

1. Wrapper: Частичная реализация EditorControl. Теперь обычный колорер пашет в 1.80.
   Обработка ECTL_GETSTRING сделана через жопу но вроде как работает (пока).

--------------------------------------------------------------------------------
t-rex 2007-04-02 03:46:11+02:00 - build 231

1. Wrapper: Ещё несколько функций в FSF, пару в PSI и несколько заглушек в PSI.

--------------------------------------------------------------------------------
t-rex 2007-04-02 01:36:33+02:00 - build 230

1. Сделал почти весь FSF и немного PSI для OEM плагинов.
   Пока что все враперы лежат в wrap.cpp который тупо инклудится в PluginA.cpp.

--------------------------------------------------------------------------------
t-rex 2007-04-01 23:11:36+02:00 - build 229

1. Начальная имплементация враппера для OEM (старых) плагинов.
   Даже работает :) Структуры PSI и FSF пустые, но можно уже написать плагин который будет
   открыватся по OpenPlugin и не юзать FarAPI. Есть обработка PluginInfo, и wchar_t -> char
   в некоторых функциях. Остальные функции не работают.
   В PluginA.cpp - класс для работы со старыми плагинами.
   В PluginW.cpp - класс для работы с юникодными плагинами.
   В Plclass.hpp - абстрактный класс Plugin который наследуют PluginA и PluginW и с ним работает PluginManager.
   В pluginold.hpp - это plugin.hpp от 1.71, немного подредактированый и закрытый в namespace oldfar.

2. Убраны ворнинги.

--------------------------------------------------------------------------------
yjh 2007-03-31 04:47:13+03:00 - build 228

1. Убрана ошибка перераспределения памяти в обработке макросов (проявлялось в
   x64 и - теоретически - в висте)

--------------------------------------------------------------------------------
yjh 2007-03-31 03:17:21+03:00 - build 227

1. Убрана ошибка на закрытии при отсуствующих панелях (gpf) - возникало,
   например, при запуске с /r

--------------------------------------------------------------------------------
t-rex 2007-03-30 05:55:19+02:00

1. Мелкие обновления в мэйке. Включил ворнинги о x64 совместимости для всех видов сборок.

--------------------------------------------------------------------------------
t-rex 2007-03-30 05:46:02+02:00

1. Мелкое переименование переменных без билда.

--------------------------------------------------------------------------------
t-rex 2007-03-30 04:54:38+02:00 - build 226

1. Массовое уничтожение "W" продолжается.

2. Решил стать оригинальным и добавил паре функций "A" в имя.
   Чтоб их потом было легче найти и убить.

--------------------------------------------------------------------------------
t-rex 2007-03-30 02:04:50+02:00 - build 225

1. Вот теперь можно реально бояться :) Убрал у всех APIшых структур и функций "W" в имени.
   А вот ко всем экспортам наоборот добавил "W" ввиду подготовительного процесса для написания
   врапера для 1.7x плагинов.

2. Где попало на глаза исправил мешанину пробелов и табов (на табы соответственно).
   Если кто не в курсе то мой плагин BlockIndent делает такие вещи очень классно :)

3. Убил последний ворнинг.

--------------------------------------------------------------------------------
warp 2007-03-30 03:52:00+03:00 - build 224

1. Продолжаем массово убивать "W" в именах функций. Всем бояться.

--------------------------------------------------------------------------------
warp 2007-03-27 16:04:00+03:00 - build 223

1. Функции с "W" на конце просочились со стороны _DEBUG. Восстание подавлено.

--------------------------------------------------------------------------------
warp 2007-03-27 15:04:00+03:00 - build 222

1. Массовое истребление "W" в именах функций. Может что отвалилось.

2. Поправлено имя параметра в plugin.hpp::OpenFilePlugin. Не OpenFrom, а OpMode.

3. При исключительной ситуации не всегда правильно передавался идентификатор функции,
   вызвавшей исключение, кроме того неправильно вызывалась функция UnloadPlugin.

--------------------------------------------------------------------------------
warp 2007-03-26 15:50:00+03:00 - build 221

1. Починил меню дисков на предмет новой системы плагинов. Однако там еще остались
   веселые места, связанные с работой TArray/MenuItemEx.

2. Добавил к функции OpenFilePlugin еще один параметр - OpMode. Во время поиска в архивах
   принимает значение OPM_FIND. Если какие плагины эту функцию уже используют - надо их пересобрать.

3. Убрал W из имен некоторых функций, на большее терпения не хватает. Так что процесс будет продолжен. 8-)

--------------------------------------------------------------------------------
yjh 2007-03-26 06:49:23+03:00

1. Уточнение ключей ulink в Far.mak

--------------------------------------------------------------------------------
t-rex 2007-03-24 04:07:51+02:00

1. То баг а не нормальный каст, пусть про него кричит.

--------------------------------------------------------------------------------
yjh 2007-03-24 02:44:49+03:00

1. Все компиляции с /W3 и убрано последнее предупреждение в 64bit build

--------------------------------------------------------------------------------
t-rex 2007-03-23 17:09:43+02:00 - build 220

1. Пару мелких фиксов в системе сборки. В custom.*.bat больше не надо выставлять FARTRY.

2. Убрал ворнинги для VC32, VC64, GCC.

3. Из за 2 пофиксился ещё одни баг в x64 сборке - DialogParam внутри фара был long а не LONG_PTR
   и у VMenu был не правильный прототип у обработчика сообщений.

4. Несколько новых ключиков для улучшения размера exe.

5. В UnicodeString появился SetLength() чтобы выставить новый конец строки (тока на уменьшение само собой).
   Там где в коде заметил, то переделал чтоб юзать это вместо танцов с GetBuffer() и ReleaseBuffer().

6. Переделал на ходу где заметил memcpy/memmove на wmemcpy/wmemmove где это нужно.

--------------------------------------------------------------------------------
yjh 2007-03-21 00:17:21+03:00 - build 219

1. Доделана сборка отладочных билдов vc8 (32/64), и добавлена парочка ключей
   которая (потенциально) может дать выигрыш по размеру

2. Сделана "нормальная" (без ассемблера кроме ud2 :) генерация исключений
   для ALPHA_VERSION

3. Добавлена "расшифровка" при exception по недопустимой/привелигированной
   инструкции

4. Для "нерасшифрованных" исключений выводится их код

5. Доделана нормальная отработка (показ) исключения по переполнению стека
   (и 32 и 64 бит версии)

6. Добавлен возможность компоновать ulink'ом - см. readme

7. Добавлена возможность передавать опции nmake - см. readme

--------------------------------------------------------------------------------
t-rex 2007-03-19 19:30:09+02:00 - build 218

Несколько патчей от 1.71, надеюсь что ничего не потерял по дороге.

1. Сделал везде где должно быть virtual функции.

2. Удалил ещё нескольно ненужных файлов.

3. Исправил баг с падением при вводе таба в режиме EXPAND_NEWTABS.

4. Добавил фильтры в пометку файлов.

5. Изменилась логика наследования в раскраске, теперь от того кто следующий
   наследуется всё кроме прозрачных элементов. А также добавил кнопочку "Make transparent".

6. В фильрах "панели" если выбраны несколько фильтров то делается AND.

7. Добавил текст в заголовке меню фильтров для описания D?,D-,D+.

--------------------------------------------------------------------------------
warp 2007-03-19 01:01:00+03:00 - build 217

1. Юрий поймал очень забавный глюк с макросами, связанный с изменениями в
   работе LocalUpperW/LocalLowerW. Поймал и поправил, собственно.

2. Некоторые изменения в apiExpandEnvironmentStrings для большего соответствия
   результата тому, что возвращает оригинальный ExpandEnvironmentStrings.

--------------------------------------------------------------------------------
warp 2007-03-18 23:19:00+03:00 - build 216

1. Если плагин прописывал в кэш пустую строку для пункта меню, то он больше никогда
   в этом меню не показывался. Видимо, тоже самое имеется и в 1.7.

2. Неправильно работала функция копирования частей реестра.

3. Неправильно была задана строка для проверки, какую часть дерева не надо копировать
   при создании нового пользователя.

--------------------------------------------------------------------------------
t-rex 2007-03-16 11:04:46+02:00 - build 215

1. Не правильно обнулялся CopyDlgParam в копире что приводило к падениям.

2. Диалог настроек "Dialog settings" был не того размера.

3. Исправления для x64 билда. Осталась одна бага в panel.cpp

      PanelMenuItem *item = (PanelMenuItem*)UserData; <--- DWORD

    	MessageBox (0, "this is BUGBUG, do not touch!", "Error!", MB_OK);

3. Сборка под VC8.

--------------------------------------------------------------------------------
warp 2007-03-15 23:37:00+03:00 - build 214

1. Падало меню плагинов/меню конфигурации при наличии более чем одного плагина
   (привет сортировке).

2. Вроде все правки от yjh в plugin.hpp учел и применил.

--------------------------------------------------------------------------------
warp 2007-03-15 21:37:00+03:00 - build 213

1. Не во все места еще проник свет нового типа Plugin. Поправил Help::MkTopic.

--------------------------------------------------------------------------------
svs 2007-03-14 19:08:36+03:00 - build 212

1. Mantis#268: ECTL_GETINFO может вернуть BlockStartLine = -1
     Вызываю EditorControl c ECTL_SELECT и устанавливаю EditorSelect.BlockStartLine = -1
     (подразумевается текущая строка, как это часто принято). Конкретно для этой операции
     в энциклопедии не указано, что -1 можно употребить. Но это работает (внешне).
     Но это, похоже, приводит к тому, что следующий вызов EditorControl с ECTL_GETINFO
     дает BlockStartLine = -1, и вот это уже неожиданно для остального кода, который
     к этому не готов.
     Даже если EditorSelect.BlockStartLine = -1 недопустимо, ECTL_GETINFO не должен
     возвращать некорретное значение BlockStartLine.

2. В mix.cpp::GetDiskSize не "__int64", но "unsigned __int64"

--------------------------------------------------------------------------------
svs 2007-03-13 20:33:15+03:00 - build 211

1. GetDiskSize (mix.cpp) чудил на терабайтных томах. Там вообще какой-то странный алгоритм
   был...

2. Macro: +"N=playmacro(S)" - "проиграть" строку в макросе
          +"S=waitkey(N)"   - ждать клавишу (вернет строковое представление клавиши,
                              или пусто по таймауту)

3. В связи с п.2 у функции GetInputRecord появился второй параметр (чтобы не вызывать повторно
   макросы из макросов, т.к. нам нужна всего лишь реальная клавиша)
   + у WaitKey() тоже есть параметр - таймаут в ms

4. Небольшие заделы для SERVICEREGION (Editor)

--------------------------------------------------------------------------------
warp 2007-03-05 01:53:00+03:00 - build 210

1. Редактор падал при открытии пустого файла.

2. Дерево падало при попытке прервать операцию сканирования.

3. Частичное чтение дерева взято из 1.7.

4. Виртуальное наследование просочилось таки.

--------------------------------------------------------------------------------
warp 2007-03-03 00:54:00+03:00 - build 209

1. Элементы диалога типа DI_LISTBOX не ловили клик мышью в DN_MOUSECLICK
   отличный от FROM_LEFT_1ST_BUTTON_PRESSED.

--------------------------------------------------------------------------------
svs 2007-02-26 10:44:24+03:00 - build 208

1. В main.cpp неправильно вызывался FileEditor - забыли про параметр codepage

2. Bug: Если одновременно указать несколько /v и /e, но из ФАРа не выйдем.
   На будущее - имеет смысл проработать вариант для стандалоне редактора/вьювера,
   но с неколькими открытыми файлами.

3. В FileEditor немного подсократил количество параметров.

4. Shift-F4 Ctrl-Y Enter на панели плагина матерится будет.
   (пока затычка...)

5. Был такой вот флаг FFILEEDIT_ISNEWFILE - нафига? - не помню.
   Убрал. Если "всплывет" - полечим.

6. Добавил EF_SERVICEREGION. Пока зарезервировано.

7. DIF_NOTCVTUSERCONTROL доступен всем.

--------------------------------------------------------------------------------
warp 2007-02-25 04:09:00+03:00 - build 207

1. Так, для разминки, убил Ansi вариант SendDlgMessage (он давно не используется)
   и исправил рекурсию при вызове плагинов.

--------------------------------------------------------------------------------
svs 2007-02-07 18:51:09+03:00 - build 206

1. Макро:
    APanel.ColumnCount - активная панель:  количество колонок
    PPanel.ColumnCount - пассивная панель: количество колонок

2. Правило "Panel\ShellRightLeftArrowsRule":REG_DWORD
    <ER>
    Нынешнее FAR'овское поведение ближе к NC/VC, чем предлагаемое.
    Единственная разница - в NC при пустой командной строке в режиме
    панели в одну колонку Left/Right просто игнорируются. Я же решил
    применить их к панели, чтобы не пропадали зря. При непустой
    командной строке FAR работает аналогично NC и VC. Как мне кажется,
    менять это поведение значит идти в разрез с многолетними привычками
    пользователей. Да и пользы от Left/Right в одноколоночной панели
    немного. Почти те же PgUp/PgDn.
    </ER>

   "ShellRightLeftArrowsRule":REG_DWORD
    Параметр "ShellRightLeftArrowsRule" с типом DWORD позволяет управлять
    поведением стрелок влево/вправо (как на основной, так и на дополнительной
    клавиатуре).
    Значения:
      0 - поведение как у 1.70: если командная строка непуста, то клавиши
          Left/Right и Num4/Num6 действуют по-разному в зависимости от
          режима панели: если имена файлов отображаются в несколько колонок
          (по умолчанию режимы 2 и 3), то команды вправо/влево применяются
          к панели (как и при пустой командной строке); а если имена файлов
          отображаются в одну колонку (по умолчанию все остальные режимы),
          то команды вправо/влево применяются к командной строке.
      1 - клавиши Left/Right и Num4/Num6 при включённой панели всегда
          применяются только к ней, независимо от содержимого командной
          строки и режима панели.
          Примечание: в командной строке есть CtrlD/CtrlS.
    По умолчанию значение = 0.

--------------------------------------------------------------------------------
t-rex 2007-02-06 23:52:24+02:00 - build 205

Очень много патчей от 1.71, надеюсь что ничего не потерял по дороге.

1. Соединил все виды фильтров (панели, копир и поиск) в одну сущность
   имеющую функционал всех прошлых фильтров вместе.

1.1. Заодно исправлен баг из за которого в меню фильтров не сохранялись
     настройки для авто-фильтров.

1.2. Также исправлен Mantis#202 как побочный эффект.

1.3. На панелях можно фильтровать папки. Надо бы разобраться с копиром ещё.

1.4. В array.hpp добавлен новый шаблонный класс TPointerArray для базовой работы
     с массивом объектов. Он же используется теперь во всех местах где нужны фильтры.

2. Раскраска файлов и группы сортировки теперь фильтры и соединены в одну сущность.

2.1. Группы сортировок влияют также на папки но папки все ровно всегда сверху,
     просто сортируются между собой.

2.2. Добавил прозрачность в раскраску и возможность раскраски файлов с помощью нескольких
     пунктов раскраски ([ ] Continur processing).

2.3. Меню настройки цветов перерисовывает панели чтоб отражались прозрачные цвета.

3. Для DI_TEXT если заданы по человечески X1 и X2 то не будем выводить больше текста чем заданно.

4. FCTL_GETUSERSCREEN - сбрасывает UserBuffer на экран.
   Теперь плагины могу эмулировать запуск программ в фаре используя
   FCTL_GETUSERSCREEN и FCTL_SETUSERSCREEN.
   Заодно исправлен баг в FCTL_SETUSERSCREEN который съедал последнюю строчку
   при выводе в Ctrl-O.
   Ну и для правильной работы FCTL_GETUSERSCREEN при первом запуске фара, добавил
   выставления курсора перед сохранением первичного UserBuffer в ControlObject::Init().

5. Если плагин был вызван по префиксу то до и после его вызова ком-строка обнулялась.
   Убрал обнуление после запуска так как плагин мог установить ком строку во время работы.
   При запуске из usermenu ком-строка как и раньше восстанавливается и так вроде должно быть.

6. Если диалог был во весь экран то фар мог падать при рисовании тени.

7. Не посылался EE_CLOSE для ?New file?.
   Теперь EE_CLOSE посылается всегда если послался EE_READ чтоб
   небыло утечек памяти в плагинах.

8. Изменил в батниках имя файла куда сохраняется вывод компайлера чтоб у него
   не было окончания и все такие файлы шли на панели вместе.

9. Исправил мэйк для GCC.

--------------------------------------------------------------------------------
svs 2007-01-26 16:51:12+03:00 - build 204

1. Добавлен флаг DIF_SEPARATORUSER. Пока "внутри", т.к. в процессе...
   (подробнее в REMINDER)

2. Проблема с сепараторами, когда указаны ВСЕ координаты (из форума)
   пересчитаем правильные размеры.

--------------------------------------------------------------------------------
svs 2007-01-25 14:25:20+03:00 - build 203

1. В обработчике DefDlgProc для события DN_BTNCLICK не учитывался флаг DIF_BTNNOCLOSE

2. Траблы с надписями в кейбаре (редактор, вьювер).
   Теперь между MXXXXF1 и MXXXXF12 не должно быть добавочных... типа MXXXXF1DOS
   Такова специфика кода.

3. Для элемента DI_VTEXT добавлена обработка флагов:
    DIF_CENTERGROUP - (не уверен, надо проверить),
    DIF_SEPARATOR
    DIF_SEPARATOR2
    DIF_SHOWAMPERSAND

4. В обработчике флага DIF_CENTERTEXT трабла. Если был указан сепаратор, этот флаг
   и координата X (отличная от -1, т.е. полные координаты), то... сепаратор
   затирался...
   В общем DIF_CENTERTEXT в сочетании с DIF_SEPARATOR сам центрует строку.

--------------------------------------------------------------------------------
svs 2007-01-24 19:01:33+03:00 - build 202

1. Уточнение DlgEdit. Все же будем наследовать от ScreenObject

2. ScreenObject::GetPosition стала виртуальной.
   Возможно еще нужны уточнения по виртуальности функций...

--------------------------------------------------------------------------------
svs 2007-01-24 18:06:17+03:00 - build 201

1. везде, где встречается DialogData, прописаны Y2.
   Просьба - если делаете диалог, то Y2 обязательно заполняйте!

2. Переделка класса DlgEdit. Теперь он ни от кого не наследуется, но держт на борту
   2 ссылки - на Edit и Editor.
   Плюс - необходимый набор функций.
   В диалоге это один объект, по сути - два (но этот объект для диалога, так что...)

4. небольшая заготовка в usermenu под DI_MEMOEDIT (в обычной жизни не используется)
   макрос PROJECT_DI_MEMOEDIT пока не юзабелен.

--------------------------------------------------------------------------------
svs 2007-01-18 21:07:44+03:00 - build 200

1. Упс... пропустил гол в предыдущем матче ;-(
   (нет проверки на NULL)

2. Бага. Вылечил. Визуальная бага. Старая бага.
   стоим в каталоге, где есть диз-файл
   Ctrl-L Tab  - перешли на инфо-панель
   Alt-F? (для противоположной панели) и дальше на тот диск,
          в каталоге которого нету diz`а
   Видим, что кейбар не обновился (Tab Tab - обновление прошло)

--------------------------------------------------------------------------------
svs 2007-01-18 19:49:44+03:00 - build 199

0. Пересмотр кода кейбаров... выкинул кучу кода.

1. Закончим с кейбаром в FolderTree (он у нас от Frame, так пусть по
   человече себя ведет, хотя бы как хелп)

2. Так же попробуем избавится от SaveScreen в FolderTree

3. в конструкторе TreeList проинициируем  SaveListData, иначе несколько
   раз Alt-F10 Esc и мы упали при освобождении памяти.

4. удалим немного комметов

5. Сейчас MKBFolderTreeXXX - всего несколько, имеет лис смысл разворачивать
   по всем клавишам (пусть даже они будут пустыми...) или как?
   Т.е. - делать как у всех объктов, юзающих кейбар или оставить так?

--------------------------------------------------------------------------------
warp 2007-01-18 19:31:00+03:00 - build 198

1. Исправления в новой системе загрузки плагинов.

1.1. Не работал вызов конфигурации у кэшированных плагинов из-за изменения системы кэширования.

1.2. Вызовы меню плагинов могли падать из-за неверного формирования строки-маски для хоткея. Странно,
     что сразу не проявилось, баг где-то при портировании в юникод появился.

1.3. Функция сохранения кэша теперь принадлежит самому классу Plugin.

2. Файл plugin.Plugin.cpp переименован в plclass.cpp (.hpp соответственно). NMAKE
   отказался работать с файлом у которого "." в имени, ну и так имя файла ближе к
   стандарту. plclass.cpp(.hpp) добавлен в зависимости и far.mak и теперь самостоятельный
   файл (а не include).

--------------------------------------------------------------------------------
warp 2007-01-17 18:42:00+03:00 - build 197

1. Почти полностью переделал всю систему загрузки плагинов. Теперь надо
   ее на чем-то хорошенько проверять. В теории возможна загрузка/выгрузка
   плагинов на ходу и прочие подобные штучки.

2. Макрос UMSG теперь тоже возвращает const wchar_t *, передал в соответствующих
   местах инициализцию кейбара и пр.

--------------------------------------------------------------------------------
t-rex 2007-01-12 16:51:21+02:00 - build 196

1. !$! не работал по назначению.

--------------------------------------------------------------------------------
zg 2007-01-11 13:26:53+02:00

1. без билда, снова собирается gcc.

2. прототипы GetOpenPluginInfo и GetPluginInfo.

--------------------------------------------------------------------------------
t-rex 2007-01-10 18:10:22+02:00 - build 195

1. Ещё немного x64.

2. Исправил фильтр (CtrlI).

--------------------------------------------------------------------------------
svs 2007-01-10 14:28:59+03:00 - build 194

1. Добавлен файл REMINDER - своеобразная напоминалка о тех или иных действиях
   которые необходимо выполнить в будущем. Не TODO!
   Иначе потом не найдем что и как...

2. Из реминдера в принципе понятно почему "заработал" диалог назначения
   макросов...
   Вразумительного ответа пока не дождался почему в dialog.cpp было так сделано
   и будет ли переделано... посему - затычка.

3. Немного логирования + функция __MCODE_ToName() - логирование MCODE_

--------------------------------------------------------------------------------
t-rex 2007-01-10 07:54:00+02:00 - build 193

1. Прошелся вроде бы по всем структурам которые содержат string и сделал для
   них правильную инициализацию и аллокацию в коде где такое было нужно.

2. Несколько мелких юникод, x64 и других фиксов.

--------------------------------------------------------------------------------
svs 2007-01-10 00:52:09+03:00 - build 192

1. Кривая инициализация... FAR_FIND_DATA_EX DestData={0};
   error C2552: 'DestData' : non-aggregates cannot be initialized with initializer list
   В FAR_FIND_DATA_EX среди членов ходит класс string!
   Убираем.
   2WARP: просмотри дифы для copy.cpp и global.cpp

2. Дебажная компиляция под MSVC.
   Добавлена _wcstoi64. Если у кого вылезут глюки, то в farrtl.cpp между
   <SVS> и </SVS> нужно добавить "&& defined(SYSLOG_SVS)" - и мне приятно
   и вам спокойнее ;-)

   А. О! Если кто юзает vc.2003.rar, то нужно
     copy mspdb71.dll mspdb70.dll
   с перезаписью :-)

3. Ctrl-A в архиве на каталоге - все опции атрибутов помечены.

4. Про макросы немного уточнений, в т.ч. включение в работу MsgBox.

5. Очередное уточнение SysLog

--------------------------------------------------------------------------------
t-rex 2007-01-09 04:04:42+02:00 - build 191

1. Немного юникодных мелочей там и сям - чтоб получить вкус.

--------------------------------------------------------------------------------
t-rex 2007-01-09 01:42:48+02:00

1. Совершенно мелкая фигня без билда, заменил две *A функции на *W.

--------------------------------------------------------------------------------
t-rex 2007-01-09 01:03:04+02:00 - build 190

1. Вернул нумерическую сортировку.

2. Убрал несколько Ansi функций.

3. Переделал Ansi функции сравнения строк (которые могут понадобится для врапера плагинов)
   чтоб юзали внутри себя юникод, чем отменил LCIDSort и т.п.

--------------------------------------------------------------------------------
warp 2007-01-08 21:45:00+03:00 - build 189

1. Ужесточена проверка на наличие hotplug устройства. Проверяем, не
   ждет устройство извлечения.

--------------------------------------------------------------------------------
svs 2007-01-08 00:07:47+03:00 - build 188

1. Вторая итерация SysLog. Путем "#define" сделаем явный вызов
   функции преобразования из "string" в "const wchar_t *", дабы
   не упасть...

2. Изменен scripts/mkdep.awk - не учитывался objlog для дебажной версии.

3. Именуем внутрение структуры в структуре FilterParams (матюки компилятора)

--------------------------------------------------------------------------------
svs 2007-01-07 21:27:50+03:00 - build 187

1. Первая итерация восстановить работоспособность SysLog.

--------------------------------------------------------------------------------
t-rex 2007-01-07 19:37:52+02:00 - build 186

1. Убрал несколько Ansi функций из фара и импортов.
   И заодно исправил мелкие юникод баги в eject функции для Win9x на случай что оно будет надо.

--------------------------------------------------------------------------------
svs 2007-01-07 18:10:04+03:00 - build 185

1. Изменен формат функции ScreeObject::VMProcess - новые параметры
   Возможно потом нужно будет еще несколько уточнений вводить, но на
   сейчас (для Help.XXXX) вполне достаточно.

--------------------------------------------------------------------------------
warp 2007-01-07 16:48:00+03:00 - build 184

1. Больше не существует GetMsg, MSG и т.п. Обработка .lng только в юникоде (т.е. файлы
   читаются и в ANSI, но внутри Far'а только юникод).

2. Попутно в обработчике .lng исправлено несколько ошибок с удалением данных.

3. Выкинул USE_WFUNC, Opt.UseUnicodeConsole и неюникодные версии Text/VText/mprintf и т.п.
   Opt.UseUnicodeConsole, видимо, вернется. В виде Opt.UseAnsiConsole (привет телнету).

4. Выкинул еще пачку ANSI функций, которые реально уже не требовались, где еще требовались - исправил.

--------------------------------------------------------------------------------
t-rex 2007-01-05 02:44:35+02:00

1. без билда, обновил инклюды и скрипт генерации оных чтоб в них выводилась версия фара.

2. Удалил файл dummy.cpp из-за ненадобности.

3. Синхронизайия хэлпа и *.pas с 1.7x

--------------------------------------------------------------------------------
warp 2007-01-05 03:36:00+30:00 - build 183

1. Выкинул глюкодром по имен RawConvertShortNameToLong, заменил его на
   ConvertNameToLongW. Если чего отвалится, буду крутить дальше, но глюкодром не верну.

2. GetMsg в API зачем-то возвращала char *, теперь, как положено, возвращает const wchar_t *.

--------------------------------------------------------------------------------
t-rex 2007-01-04 13:16:24+02:00 - build 182

1. Убрал /* Revision: $ */ и лишние коменты отовсюду.

2. Входим в эру 64-бит

   Главные изменения:
     DlgProc: long Param2 -> LONG_PTR Param2 и возвращает LONG_PTR вместо long
     SendDlgMessage: long Param2 -> LONG_PTR Param2 и возвращает LONG_PTR вместо long
     DefDlgProc: long Param2 -> LONG_PTR Param2 и возвращает LONG_PTR вместо long
     DialogEx: long Param -> LONG_PTR Param
     FarMenuItemEx: DWORD UserData -> DWORD_PTR UserData
     PluginPanelItem: DWORD UserData -> DWORD_PTR UserData
     AdvControl: возвращает INT_PTR вместо int
     OpenPlugin: int Item -> INT_PTR Item
   А также в execute.cpp добавлено определение 64-bit GUI прог.

   После некоторых экспериментов было выведено что выравнивание должно быть 8 для 64-bit версии.
   Обновил Far.mak и добавил vc.build.debug.64.bat и vc.build.release.64.bat которые используют
   custom.vc.debug.64.bat и custom.vc.release.64.bat соответственно.
   Мой custom.vc.release.64.bat содержит следующее:
   call "I:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\SetEnv.Cmd" /X64

   Убрал всевозможные ворнинги связанные с x64.
   Включил показ x64 ворнингов для x64 билда - люди, перед тем как вы комитите свои
   изменения, соберите x64 версию и посмотрите на ворнинги - если есть и вы не знаете
   как правильно их решить то стучите ко мне (главное не уберите ворнинг оставив баг).

   Остались несколько ворнингов которые показывают на баг внесенный новыми макросами для
   хэлпа - буду решать когда поймаю Валю.

3. Удалил ClevMutex.hpp из за ненадобности и из за x64 несовместимости.

--------------------------------------------------------------------------------
warp 2006-12-31 16:06:00+30:00 - build 181

как это модно писать - regression fixes

1. делал сохранение - в самом конце поломал правильность
получения кодировки в диалоге сохранения.

2. когда менял PluginItem на Plugin откусил возможность грузить плагины.

--------------------------------------------------------------------------------
warp 2006-12-30 06:20:00+30:00 - build 180

1. Различные переделки в fileeditor.cpp. новый диалог открытия/создания файла.

2. PluginItem переименован в Plugin и это теперь класс. Попутно устранены несколько memset'ов, нельзя
так очищать классы и структуры, содержащие string.

3. Новый диалог сохранения файла в fileeditor.cpp. Практически реальное сохранение файлов. Зачатки
механизма переоткрытия файла при смене c юникодной кодовой таблицы на неюникодную или наоборот.

4. Очень много изменений в editor/fileedit. Все ужасно сыро.

5. lng.generator rc10, тот который с поддержкой UTF-8.

2SVS: У меня тоже, там ??? не зря стоит.

--------------------------------------------------------------------------------
svs 2006-12-27 18:36:43+03:00 - build 179

1. Macro: + новых слова:
    Help.FileName - имя просматриваемого файла помощи
    Help.Topic    - просматриваемый топик
    Help.SelTopic - топик, который сейчас выделен

2. Попутно бадья нашлась при формировании топика:
   Shift-F2, а дальше путешествуем по топикам.
   в итоге получаем кучу слешей в конце StackDate.HelpPath
   Решение - удалим все конечные слеши и добавляем единственный.

3. У DeleteEndSlash новый параметр - удалить ли _ВСЕ_ концевые слеши.
   по умолчание "неа, тока один от конца строки".

4. В WindowInfo для Help`а теперь заполням Name - полный путь к файлу.

2WARP: вызывает сомнение вот фрагмент, подобный:

    case MCODE_V_HELPFILENAME: // Help.FileName
       return (int)(const wchar_t *)strFullHelpPathName;     // ???

--------------------------------------------------------------------------------
svs 2006-12-20 15:29:10+03:00 - build 178

1. Откат Mantis#198. Здесь все веселее и веселее...
   Проблема в том, что пока ФАР не получит управление...

--------------------------------------------------------------------------------
svs 2006-12-15 17:20:37+03:00 - build 177

1. Mantis#255 - При вставке пути к файлу/папке по Ctrl+Alt+F последний слеш
                получается  не в ту сторону
   Пусть AddEndSlash сама определяет чьих слешей больше :-)
   (второй параметр не "\", а 0x00).

3. Пусть "mkdep.list.txt" будет именоваться как "mkdep.list"
   (он, гад такой все время попадает... под txt)

4. Mantis#198. Уточнение. В обчем тут такое дело...
   Есть у меня макрос "F11 ? 1 !".
   Здесь
   '?' - хоткей для "cdHelps"
   '1' - Context-dependent help
   '!' - Previous query
   Если раньше в консоли ничего не появлялось, а просто тупо появлялся гуевый
   хелп. То сейчас мелькает меню - открывается и закрывается.
   Посему пока просто учтем Mode==MACRO_DIALOG.
   Хмм пока это писал, увидел артефакты и в редакторе...
   Однозначно только MACRO_DIALOG учитываем (а там посмотрим - в смысле
   вернуть все взад...)

--------------------------------------------------------------------------------
svs 2006-12-15 12:26:06+03:00 - build 176

1. Mantis#198: проблема с прорисовкой сообщения при работе с макросом
   Изменил немного механих окончания работы макропоследовательности

--------------------------------------------------------------------------------
svs 2006-12-14 12:22:59+03:00 - build 175

1. Mantis#218: Проблема с копированием файла в самого себя
   (это когда копируем файл "c:\a.txt" в "c:")
   [-] При копировании уничтожалось содержимое файла в корне диска, если в
       качестве приемника указывался этот самый диск (файл "C:\a.txt" копируем в "C:")

2. Поддержка колеса мыши в объекте выбора папок (копир)

--------------------------------------------------------------------------------
svs 2006-12-13 13:13:20+03:00 - build 174

1. Mantis#235: Не распознаётся zip-архив
   Хотел сначала подателя жалобы послать на... TechInfo#63 :-)
   Но, расположение требуемой сигнатуры этого архива (в сааамом конце файла)
   не укладывается в указанный диапазон - "Диапазон от 0x1000 до 0x80000".
   Здесь как раз бы 4метра указать, но...
   В общем снял органичение на верхний предел.
   Доку поправлю.

--------------------------------------------------------------------------------
svs 2006-12-12 19:06:46+03:00 - build 173

1. В FolderTree не отрабатывали мышиные правила для диалога (вне диалога).

2. Mantis#253 - Пропадание содержимого дерева папок
   Добавил TreeList::SaveState() и TreeList::RestoreState(). чтобы сохранить
   текущие значения кеша и списка каталогов дерева.

3. DMOUSEBUTTON_* перенесены из dialog.hpp в farconst.hpp

--------------------------------------------------------------------------------
svs 2006-12-07 15:31:40+03:00 - build 172

1. Вводим VSMFL_REDRAW для ViewerSetMode.Flags, ибо так правильнее будет.
   т.е. либо VCTL_SETMODE + VCTL_REDRAW, либо VCTL_SETMODE(VSMFL_REDRAW).

--------------------------------------------------------------------------------
svs 2006-12-06 20:02:31+03:00 - build 171

1. Класс FolderTree наследуется от Frame, что позволило вылечить древний баг с
   прорисовкой (F5 F10 F1 F5 F5 Esc - видим "грязь" на экране).
   Так же это изменение позволило добавить фичи:
   а) Alt-F9 (само получилось, т.к. Manager сам умеет перерисовывать все, что
      наследуется от Frame)
   б) F5 - распахнуть/вернуть окно поиска каталога (по аналогии с хелпом)

   Так же, конструктор претерпел некоторые изменения в параметрах.

   В хелпах в раздел "@FindFolder" добавлена инфа про F5 и Ctrl[-Shift]-Enter.
   В FarEng.hlf.m4 нужен перевод.

2. Небольшие правки plugins.cpp. Просьба не употреблять __try/__except. Для
   этого есть макросы TRY/EXCEPT, соответственно.

3. Добавлен файл README. Перечислены некоторые правила. Если кто-то вспомнит
   еще правила - писать в этот файл.

--------------------------------------------------------------------------------
warp & t-rex 2006-12-05 03:36:01+03:00 - build 170

1. Добавлена проверка плагина на "плагиновость" из 1.7

2. Устранены пара мелких багов.

--------------------------------------------------------------------------------
svs 2006-12-01 20:19:01+03:00 - build 169

1. Замена в составе: ViewerMode.TypeWrap -> ViewerMode.WordWrap

2. Добавка в ViewerAPI - VCTL_SETMODE, enum VIEWER_SETMODE_TYPES, struct ViewerSetMode

3. В XXXControl добавлена проверка на вшивость с юзанием IsBadReadPtr()

--------------------------------------------------------------------------------
svs 2006-11-30 09:27:43+03:00 - build 168

1. При выключенных настройках [ ] Save file position [ ] Save bookmarks
   после открытия файла на редактирование курсор по умолчанию становится
   в конец первой строки.

--------------------------------------------------------------------------------
warp 2006-11-25 03:27:00+03:00 - build 167

1. Кое-какое сохранение в редакторе. Уже даже можно попробовать сохранить файл в UTF-8.
   Сыро до безобразие. Наблюдаются глюки.

2. Исправил кое-какие баги и неточности в обработке кодировок.

3. Еще всякая мелочь.

--------------------------------------------------------------------------------
warp 2006-11-25 01:03:00+03:00 - build 166

1. Изменил в редакторе AddString на InsertString, теперь там указывается после
   какой строки добавить текущую. Пока не совсем точная реализация.

2. Исправил кое-какую мелочь.

--------------------------------------------------------------------------------
warp 2006-11-25 00:17:00+03:00 - build 165

1. Убил FCTL_*ANOTHER* команды. Теперь эта/другая панель задается
   через первый параметр Info.Control как CURRENT_PANEL/ANOTHER_PANEL.
   Функционал еще не протестирован.

--------------------------------------------------------------------------------
t-rex 2006-11-24 22:35:49+02:00 - build 164

1. Немного GCC. Почему вы упорно не используете _i64(NUMBER) вместо NUMBERi64?
   И _ui64(NUMBER) вместо NUMBERui64.

--------------------------------------------------------------------------------
svs 2006-11-23 19:57:42+03:00 - build 163

1. Macro: $AKey - клавиша, который вызвали данный макрос
   (небольшой задел на будущее)

--------------------------------------------------------------------------------
t-rex 2006-11-23 09:03:15+02:00 - build 162

1. При удалении пустой строки или соединении двух строк при помощи DEL или BS выставлялись
   неправильные символы конца строки для "новой" строки.

--------------------------------------------------------------------------------
svs 2006-11-21 00:00:11+03:00 - build 161

1. Copy/Paste: "CurLine->GetEOLW" VS "CurPtr->GetEOLW"

--------------------------------------------------------------------------------
svs 2006-11-18 00:16:11+03:00 - build 160

1. Mantis#139 - Нарушения с концами строк при Отмене

2. + Edit::GetEOLW()

3. У Editor::AddUndoData новый параметр - пусть Undo помнит EOL!

2warp: Эта... есть бага одна (не моя :-). Если открыть редактор, то
       в начале файла есть пустая строка. Судя по всему это результат
       выноса ReadFile из Editor в FileEditor (не уверен).
       Мой патч это не исправляет! (пока не знаю где копать)

--------------------------------------------------------------------------------
warp 2006-11-16 21:27:00+03:00 - build 159

1. Намутил что-то страшное с кодировками. Реализация несколько неправильная
   идеологически (нужен объект для перекодировки, а не какой-то m_codepage), но
   теперь можно даже открыть файл на редактирование в какой-нибудь кодировке
   вроде KOI-8 (кто сказал "а сохранить?").

--------------------------------------------------------------------------------
svs 2006-11-07 21:33:42+03:00

1. без билда добавлен tee.exe с коррекцией vc.build.debug.bat и
   vc.build.release.bat

--------------------------------------------------------------------------------
warp 2006-11-06 02:42:00+03:00 - build 158

1. Убил. Я его убил. Да! Метод ReadFile теперь принадлежит FileEditor, кэш
   тоже теперь принадлежит ему. Editor теперь представляет собой только memo,
   как и положено. На данный момент в кэш может сохраняться туфта, кодировки
   не работают (хм, ну это... не совсем, конечно...), проверка на минимальный
   размер не работает, сообщение о загрузке файла не работает... Убил, что говорить.

--------------------------------------------------------------------------------
warp 2006-11-02 02:42:00+03:00 - build 157

1. Добавил функцию apiGetFileSize, работающую сразу с unsigned __int64.
   Под это дело сделал в wipe поддержку файлов размером больше 4Гб и заменил
   GetFileSize в соотв. местах.

--------------------------------------------------------------------------------
warp 2006-11-02 01:40:00+03:00 - build 156

1. Выкинул из редактора примерно 3.5 кб кода, путем убиения структуры
   EditList. Теперь поля Next/Prev принадлежат непосредственно Edit'у.

--------------------------------------------------------------------------------
warp 2006-11-01 02:34:00+03:00 - build 155

1. Попортил редактор немного на предмет унификации функций по
   добавлению/созданию строк. Готовлю себя к переносу чтения файла
   в FileEditor (где ей и место).

--------------------------------------------------------------------------------
svs 2006-10-10 11:36:00+03:00 - build 154

1. Macro: Area-коды разнесены. Теперь Condition имеет свои OpCode, а
   области - свои. Иначе в дампе макроса при логировании хрень.
   Для ньюсов ничего пистать ненадо.

--------------------------------------------------------------------------------
svs 2006-10-09 12:15:50+03:00 - build 153

1. Упоминание про Ctrl-Shift-Enter при быстром поиске (нужен перевод!)
   Mantis 244

2. FindFile: Зацикливается поиск при поиске подстроки на файле больше 2Gb
   Mantis 243

--------------------------------------------------------------------------------
warp 2006-10-06 17:10:00+03:00 - build 152

1. Вроде поправил ширину DIF_SEPARATOR для диалогов без рамки.

--------------------------------------------------------------------------------
t-rex 2006-09-27 04:12:34+03:00 - build 151

1. Ещё одно дополнение к фиксу "Падение при старте ФАРа, когда каталог недоступен".
   На пассивной панели открывался каталог без ".." вверху.

--------------------------------------------------------------------------------
t-rex 2006-09-27 03:07:27+03:00

Косметика без билда.

1. Прошлый патч был совсем не в тему. Вернул как было и чтоб больше не было
   вопросов сделал два батника и изменил Far.mak:

   Эти батники на прямую не редактировать!!!!!!!!!
   Только для постоянных изменений для всех участников проекта.
   Читайте объяснение - всё продумано.

   --------------------
   vc.build.release.bat
   --------------------
   Этот батник собирает release версию фара с помощью VC и Far.mak.
   Батник заодно обновляет far.release.dep и языковые файлы.
   С запуском этого батника никогда не будут никаких проблем при сборке фара
   (кроме ошибок в самом коде :).
   Чтобы батник был универсальным и работал у всех без изменений он
   вызывает другой батник - custom.vc.release.bat - если такой есть.
   Этот (custom.vc.release.bat) батник вам надо создать самим так как он ваш
   личный и на SVN комитится не будет. В нём вы можете определять переменные
   среды компайлера и переопределять переменные среды которые используются
   для сборки фара в главном батнике.
   Например у меня он содержит:
   ---->8----
   @echo off
   call F:\lng\VC.Toolkit.2003\vcvars32.bat
   ----8<----

   ------------------
   vc.build.debug.bat
   ------------------
   Тоже что и vc.build.release.bat только собирает debug версию, обновляет
   far.debug.dep и вызывает custom.vc.debug.bat если такой есть.
   Пример custom.vc.debug.bat:
   ---->8----
   @echo off
   call F:\lng\VS98\Bin\VCVARS32.BAT
   set FAR_MSVCRT=/D FAR_MSVCRT
   set FARSYSLOG=-DSYSLOG_TREX %FARSYSLOG%
   ----8<----

--------------------------------------------------------------------------------
svs 2006-09-26 10:52:00+03:00

Косметика без билда.

1. В mkdep.list.txt добавлены copyright.inc и farversion.inc, т.к. если сделать
   первый раз экспорт, а потом запустить компиляцию, то будет ошибка компиляции
   global.cpp, т.к.  ни copyright.inc ни farversion.inc еще нету.

   Так же исправлен scripts\mkdep.awk - учитывает расширение INC, т.е. как раз
   те самые файлы copyright.inc и farversion.inc, которые генерятся из *.m4.

--------------------------------------------------------------------------------
t-rex 2006-09-25 04:36:38+03:00 - build 150

1. Не влезали русские слова в диалог фильтра.

2. Совершенно не работала функция смены языка Фара.

3. UserData для VMenu при Size==0 ожидается и обрабатывается как wchar_t * а не как char *.

--------------------------------------------------------------------------------
t-rex 2006-09-23 05:07:44+03:00 - build 149

1. Дополнил Валин фикс на тему "Падение при старте ФАРа, когда каталог недоступен"
   а то выходила фигня если недоступный путь был например C:\a - фар открывал C: и
   делал это очень криво.

   ВАЖНО!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   Ну нельзя делать кастинг от string в wchar_t * и потом менять последний,
   если надо ручками изменить string то делать это нужно _обязательно_ используя
   string::GetBuffer() и string::ReleaseBuffer()!

--------------------------------------------------------------------------------
t-rex 2006-09-23 02:51:38+03:00 - build 148

1. В фиксе для висты сделал случайно memcpy вместо wmemcpy.

--------------------------------------------------------------------------------
svs 2006-09-20 16:05:00+03:00 - build 147

1. Macro: первые приближения "Height" и "Width" (и "[A|P]Panel.Height")

2. Macro: fexist fattr и еже с ними возвращаали фингню, если файла нет.
          (преобразования, млин)

3. Добавлена функция Manager::SwapTwoFrame() для макро-нужд.
   ...либо не для макронужд, если умный Ctrl-Tab будет делаться средствами
   FAR.

--------------------------------------------------------------------------------
svs 2006-09-20 15:34:00+03:00 - build 146

1. Падение при старте ФАРа, когда каталог недоступен (например, на
   FS была примонтирована флешка, которой при тсрате на месте не оказалось).

2. Уточнение KeyNameToKey() - для переменной ала "%CtrlAltF1" отрабатывал...
   в общем кривизна была :-)

--------------------------------------------------------------------------------
t-rex 2006-09-15 04:43:53+03:00 - build 145

1. Починил вставку мусора в редакторе в висте при нажатие на Enter.
   В висте realloc на уменьшение не всегда (а может и никогда) ни возвращает тот же адрес.

2. Починил сборку GCC.

3. Мелкие изменения в мэйках.

4. Начинаем писать changelog, я сделал себе макрос
   "t - r e x Space $Date \"%d.%m0.%Y %H:%M:%S %Z\" Enter"
   чтоб выводить заголовок changelog-а.
   Последующие логи надо писать сверху - т.е. файл будет идти хронологически снизу вверх.
   В changelog прошу писать в Win кодировке.

5. Добавил батник и m4 скрипт для авто пометки нового билда в репоситории.
   Батник выведет вот такое сообщение чтоб вы случайно не сделали ошибки.
   --------------------------------------------------------------------
   Continue only if you are sure that you have set the correct
   build and commited the changes.
   This command will tag the trunk under tags/VERSION_bBUILD, if such
   tag already exists this command might cause problems.
   --------------------------------------------------------------------
   If you're not sure press СtrlC.
   --------------------------------------------------------------------
   --------------------------------------------------------------------
   Продолжайте тольке если вы уверены что вы выставили правельный
   номер билда и закомитили изменения.
   Эта команда пометит текущий trunk в tags/VERSION_bBUILD, если такая
   пометка уже существует то это может привести к проблемам.
   --------------------------------------------------------------------
   Если вы не уверены то нажмите CtrlC
   --------------------------------------------------------------------
