=======================================================================================
This file is a translation of the main russian changelog and is provided by volunteers.
It might not always be as up to date as the main changelog.
=======================================================================================

drkns 22.05.2019 19:43:43 +0100 - 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.

drkns 21.05.2019 21:42:42 +0100 - build 5399

1. x64 support in vc_crt_fix.asm. Probably we can work in XP x64 as well now.

drkns 15.05.2019 23:45:23 +0200 - 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.

drkns 11.05.2019 23:42:12 +0100 - build 5397

1. Fix build.

drkns 11.05.2019 22:55:22 +0100 - build 5396

1. New fmt version.

2. Refactoring.

drkns 06.05.2019 22:44:11 +0100 - build 5395

1. Use "…" instead of "..." for UI string truncation to save some space.

2. Minor changes in vcxproj and build scripts.

drkns 04.05.2019 17:16:12 +0100 - build 5394

1. initguid.cpp removed - GUIDs are initialised directly now.

2. A workaround to support GCC 7.1.

drkns 03.05.2019 22:15:49 +0100 - build 5393

1. 0003709: Incorrect relative dates in filters

2. A few minor changes.

drkns 01.05.2019 23:00:19 +0100 - build 5392

1. Refactoring.

2. More tests.

drkns 26.04.2019 23:37:23 +0100 - build 5391

1. Continuation of 5368.

drkns 25.04.2019 23:57:58 +0100 - build 5390

1. Refactoring.

2. More tests.

drkns 25.04.2019 22:42:44 +0100 - build 5389

1. 0003706: Pressing Enter clears the selection in the current line.

svs 24.04.2019 16:11:54 +0300 - build 5388

1. SQLite 3.28.0

drkns 18.04.2019 21:59:52 +0100 - build 5387

1. New fmt version.

2. Workaround for Clang 8.

3. Minor refactoring.

drkns 17.04.2019 22:23:24 +0100 - build 5386

1. Build process:
   - bootstrap directory moved to IntDir (some generated files contain platfrom-specific data).
   - simplidied the format of vbuild.m4 - now there is only a number.

drkns 16.04.2019 08:17:59 +0100 - build 5385

1. Correction of 5384.

drkns 15.04.2019 21:42:35 +0100 - build 5384

1. Refactoring.

2. Please do not check in files with crlf line endings into git. Thanks.

drkns 05.04.2019 17:10:06 +0100 - build 5383

1. Forum: corrections for WindowMode = false.

drkns 03.04.2019 20:01:25 +0100 - build 5382

1. Refactoring.

drkns 02.04.2019 19:41:21 +0100 - build 5381

1. Standard Boyer-Moore-Horspool implementation in Find File.

2. Refactoring.

drkns 28.03.2019 16:45:06 +0000 - build 5380

1. Running the screen saver resets the viewport position.

drkns 28.03.2019 13:54:13 +0000 - build 5379

1. Refactoring.

drkns 25.03.2019 17:22:38 +0000 - build 5378

1. Minor refactoring.

2. More tests.

drkns 22.03.2019 23:45:48 +0000 - build 5377

1. Fix GCC debug build.

drkns 20.03.2019 23:35:45 +0000 - 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.

drkns 13.03.2019 22:27:54 +0000 - build 5375

1. SQLite exceptions include the database name.

w17 12.03.2019 15:24:39 +0300 - build 5374

1. Correction of 5360.

drkns 10.03.2019 00:47:09 +0000 - 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.

zg 03.03.2019 16:22:37 +0200 - build 5372

1. Forum: keybar is not updated after calling a plugin.

svs 27.02.2019 13:44:44 +0300 - build 5371

1. SQLite 3.27.2

drkns 25.02.2019 23:31:27 +0000 - build 5370

1. Some AI in executor to skip scrolling if possible, based on https://forum.farmanager.com/viewtopic.php?p=153198#p153198.

MZK 24.02.2019 16:26:04 -0800

1. Revised @Viewer help page, both English and Russian

drkns 24.02.2019 02:23:08 +0000 - 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.

drkns 22.02.2019 23:12:51 +0000 - 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.

drkns 22.02.2019 20:02:42 +0000 - build 5367

1. Don't try to read labels from the main lng if lng.custom files are absent.

2. Translation corrections.

3. VS2015.

drkns 21.02.2019 22:00:35 +0000 - 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.

drkns 16.02.2019 21:38:09 +0000 - build 5365

1. Refactoring.

w17 12.02.2019 18:22:53 +0300 - build 5364

1. M#3695: Excessive movements during search

svs 12.02.2019 09:12:09 +0300 - build 5363

1. SQLite 3.27.1

drkns 10.02.2019 23:17:26 +0000 - build 5362

1. Continuation of 2493.

2. Refactoring.

w17 06.02.2019 19:46:32 +0300 - build 5361

1. M#3694: Guid is required for viewer search dialog

w17 06.02.2019 19:27:23 +0300 - build 5360

1. M#3636: VCTL_GETFILENAME not working on QView close

drkns 05.02.2019 23:40:18 +0000 - build 5359

1. Refactoring.

2. Fix 5356.3.

drkns 05.02.2019 21:16:42 +0000 - build 5358

1. Forum: invalid from utf-8 perspective byte sequence sometimes was treated as a valid character.

drkns 04.02.2019 22:22:35 +0000 - build 5357

1. #78 Add a placeholder symbol for file descriptions

drkns 24.01.2019 00:43:26 +0000 - build 5356

1. New version of fmt.

2. Task List didn't show captionless windows.

3. Refactoring.

drkns 18.01.2019 00:27:00 +0000 - build 5355

1. 5353 broke GCC build due to a bug in fmt.

drkns 16.01.2019 17:21:03 +0000 - build 5354

1. More 5352.

w17 16.01.2019 18:07:41 +0300 - build 5353

1. fmt library & Far thousands separator.

drkns 15.01.2019 20:56:22 +0000 - build 5352

1. 0003621: Add "Use shell name" option.

drkns 09.01.2019 13:13:13 +0000 - build 5351

1. More 5350.

drkns 09.01.2019 11:37:01 +0000 - build 5350

1. Don't try to set cursor size and position if it's not visible.

2. A few minor changes.

drkns 05.01.2019 14:08:45 +0000 - build 5349

1. 0003689: Search in encrypted archives doesn't work.

drkns 01.01.2019 16:19:36 +0000 - build 5348

1. Coverity warnings.

drkns 31.12.2018 17:05:00 +0000 - build 5347

1. Key combinations like Ctrl+[Shift+]VK_OEM_8 didn't work.

drkns 27.12.2018 22:28:16 +0000 - build 5346

1. /analyze warnings.

drkns 26.12.2018 11:22:00 +0000 - 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.

drkns 23.12.2018 16:09:53 +0000 - build 5344

1. ColorDialog uses more obvious colour (black) as the base of the preview by default.

drkns 16.12.2018 19:12:45 +0000 - build 5343

1. Incorrect keybar position in non-fullscreen windows (typo in 5268).

drkns 11.12.2018 01:59:56 +0000 - build 5342

1. VS 2015.

drkns 10.12.2018 22:50:11 +0000 - build 5341

1. Refactoring.

zg 10.12.2018 16:16:53 +0200 - build 5340

1. 0003657: DM_SETTEXT doesn't reset LeftPos to 0.

svs 10.12.2018 09:01:02 +0300 - build 5339

1. SQLite 3.26.0

zg 07.12.2018 10:52:37 +0200 - build 5338

1. Сontinuation of 5337:
   - memory usage optimization.
   - "ChangeTime" is not restored.

zg 05.12.2018 18:17:44 +0200 - build 5337

1. copying a folder keeps its timestamps.

drkns 05.12.2018 07:54:14 +0000 - build 5336

1. Fix 5334.

drkns 04.12.2018 23:30:45 +0000 - build 5335

1. Crash in far:config dialog under certain circumstances.

2. Support for compilation with Visual Studio 2019.

drkns 04.12.2018 02:08:22 +0000 - build 5334

1. More fixes in concurrent access to sqlite.

2. Refactoring.

drkns 02.12.2018 00:14:12 +0000 - 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.

drkns 29.11.2018 18:07:01 +0000 - build 5332

1. Restore "ClearType-friendly redraw" for Windows 10 - still relevant for Legacy Console.

drkns 28.11.2018 19:20:40 +0000 - 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.

drkns 28.11.2018 01:12:50 +0000 - build 5330

1. Show LastError & NTSTATUS in the exception handler, if possible.

svs 27.11.2018 16:57:10 +0300 - build 5329

1. SQLite 3.25.3

drkns 26.11.2018 23:46:06 +0000 - build 5328

1. 0001726: Entering symbols using Input Method Editor doesn't work.

drkns 25.11.2018 22:07:47 +0000 - build 5327

1. Some improvements in exception handling.

2. Refactoring.

w17 23.11.2018 16:13:05 +0300 - 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)

drkns 21.11.2018 09:17:30 +0000 - build 5325

1. Typo in 5324.

drkns 20.11.2018 19:20:12 +0000 - 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.

drkns 20.11.2018 01:10:03 +0000 - build 5323

1. New versions of tinyxml2 and fmt.

2. Refactoring.

drkns 18.11.2018 23:20:04 +0000 - build 5322

1. /clearcache command didn't work.

drkns 18.11.2018 14:59:47 +0000 - build 5321

1. Refactoring.

drkns 18.11.2018 11:07:28 +0000 - build 5320

1. And FastFind again.

drkns 17.11.2018 22:05:54 +0000 - build 5319

1. More 0003679: always reset a filter when closing a combobox.

drkns 17.11.2018 00:11:01 +0000 - build 5318

1. 0003679: DM_LISTGETCURPOS works incorrectly after pressing Esc in a filtered combobox.

zg 15.11.2018 15:00:02 +0200 - build 5317

1. ECTL_GETCOLOR was returning incorrect coordinates.

drkns 15.11.2018 07:37:31 +0000 - build 5316

1. And FastFind again.

drkns 15.11.2018 00:53:53 +0000 - build 5315

1. And once more.

drkns 14.11.2018 00:40:20 +0000 - build 5314

1. Some improvements in exception handling.

2. Strange things when closing FastFind with a mouse.

3. Correction of 5304.

4. Refactoring.

zg 14.11.2018 20:28:30 +0200 - build 5313

1. gcc.

drkns 12.11.2018 23:59:59 +0000 - 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.

drkns 10.11.2018 18:52:03 +0000 - build 5311

1. Since SQLite doesn't support nested transactions and we use them only for performance -
   nested begin/end are ignored now.

drkns 10.11.2018 00:09:59 +0000 - build 5310

1. Small file sorting optimisations.

2. Refactoring.

w17 09.11.2018 14:25:26 +0300 - build 5309

1. GH #77 3.0.5300: Viewer Save file position is broken

drkns 09.11.2018 09:02:24 +0000 - build 5308

1. 5307 revealed an ancient bug - incorrect handle usage.

drkns 08.11.2018 21:55:13 +0000 - build 5307

1. Some improvements in exception throwing and handling.

2. After 5304 the profile was consireded "read only" in some cases.

3. Refactoring.

drkns 08.11.2018 08:56:21 +0000 - 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*

drkns 08.11.2018 00:26:26 +0000 - build 5305

1. Some improvements in exception handling.

2. Redundant allocations during subsequent SCTL_CREATESUBKEY calls.

drkns 06.11.2018 20:35:22 +0000 - 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.

MZK 05.11.2018 22:34:40 -0800

1. Translated help page @OSCommands into English and reworked the Russian page.

drkns 05.11.2018 18:44:11 +0000 - build 5303

1. Fix 5281.2.

drkns 30.10.2018 22:03:16 +0000 - 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.

drkns 29.10.2018 19:17:34 +0000 - build 5301

1. Forum: Shift+BS doesn't reset the filter.

drkns 28.10.2018 14:00:50 +0000 - build 5300

1. Reduce transactions lifetime in HierarchicalConfigDb for internal databases.
   For plugins everything is the same as before for now.

drkns 27.10.2018 17:44:42 +0100 - build 5299

1. Forum: Crash when renaming 1.1.1 to *.*.2

drkns 26.10.2018 23:27:41 +0100 - build 5298

1. And once more.

drkns 26.10.2018 23:09:45 +0100 - build 5297

1. Fix 5281.2.

drkns 26.10.2018 19:48:27 +0100 - build 5296

1. Forum: Visual issue with moving items between groups in Files highlighting

drkns 26.10.2018 18:59.10 +0100 - build 5295

1. FSF.FarClock / Far.UpTime worked incorrectly after 5080.

2. Color dialog improvements.

drkns 26.10.2018 01:20:13 +0100 - build 5294

1. Forum: Add color code (#RRGGBB) to the Color dialog

drkns 25.10.2018 20:33:20 +0100 - build 5293

1. Fix 5291.

drkns 24.10.2018 22:20:59 +0100 - 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.

drkns 24.10.2018 00:09:27 +0100 - build 5291

1. Refactoring.

drkns 22.10.2018 22:26:20 +0100 - build 5290

1. Fix 5288.1.

drkns 21.10.2018 15:23:33 +0100 - build 5289

1. Fix 5288.1.

drkns 20.10.2018 23:14:28 +0100 - 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.

drkns 14.10.2018 13:21:57 +0100 - 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.

drkns 14.10.2018 02:29:18 +0100 - 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.

drkns 13.10.2018 10:38:58 +0100 - build 5285

1. Show "<Folder>" or "<  Up  >" for folders in "P" column (allocation size) as well.

drkns 10.10.2018 19:46:45 +0100 - build 5284

1. Fix 5281.2.

drkns 09.10.2018 23:49:36 +0100 - build 5283

1. Fix 5273.1.

svs 09.10.2018 09:22:17 +0300 - build 5282

1. SQLite 3.25.2

drkns 09.10.2018 01:14:41 +0100 - build 5281

1. Fix bugs in string_view implementation for VS2015.

2. Refactoring.

w17 06.10.2018 21:06:14 +0300 - build 5280

1. Fix 3837

drkns 03.10.2018 11:41:16 +0300 - build 5279

1. Correction of 5276.2.

drkns 02.10.2018 19:19:52 +0300 - build 5278

1. #71: Ampersand in !?<title>?<init>!

drkns 02.10.2018 02:59:59 +0300 - 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).

drkns 30.09.2018 17:49:39 +0300 - 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.

drkns 30.09.2018 02:13:21 +0300 - 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.

drkns 30.09.2018 00:16:35 +0300 - 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.

drkns 26.09.2018 18:54:39 +0300 - 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.

MZK 23.09.2018 19:02:35 -0700

1. Translated help page @SelectFiles into English and reworked the Russian page.

drkns 20.09.2018 07:47:30 +0100 - build 5272

1. Correction of 5264.1.

MZK 18.09.2018 00:12:21 -0700

1. Help: clarified description of file size formatting options.

w17 17.09.2018 21:04:43 +0300 - build 5271

1. Another correction of 5268.1.

svs 17.09.2018 13:56:40 +0300 - build 5270

1. SQLite 3.25.0

drkns 16.09.2018 07:59:04 +0100 - build 5269

1. Correction of 5268.1.

drkns 15.09.2018 15:13:24 +0100 - 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.

zg 13.09.2018 12:09:52 +0300 - build 5267

1. correction of 5262: DialogInit(-1,-1,0,0) call is equal to DialogInit(-1,-1,1,1).

drkns 10.09.2018 20:39:25 +0100 - build 5266

1. Export of pluginhotkeys.db was broken.

drkns 06.09.2018 23:43:10 +0100 - 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.

drkns 04.09.2018 21:37:50 +0100 - build 5264

1. In presence of the elevated process the main process would stop earlier than necessary.

2. Forum: Error getting help on plugin.

MZK 02.09.2018 23:09:13 -0700

1. Translated help page @ChangeDriveMode into English and edited Russian page.

drkns 02.09.2018 22:14:00 +0100 - build 5263

1. "Owner" field in attributes dialog has been moved to the bottom.

2. Refactoring.

3. Update Slovak translation.

zg 01.09.2018 18:59:52 +0300 - build 5262

1. check for correctness of coordinates in DialogInit.

drkns 22.08.2018 23:59:59 +0100 - build 5261

1. Rollback of rollback of (4858), revert to 4853 and shared_mutex. It may improve search in archives. Or not.

zg 22.08.2018 17:50:28 +0300 - build 5260

1. rollback of 5256.

drkns 22.08.2018 02:28:40 +0100 - 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.

MZK 19.08.2018 16:14:41 -0700

1. Translated help page @Codepages.NoAutoDetectCP into English.

drkns 19.08.2018 14:58:35 +0100 - 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.

drkns 19.08.2018 08:53:24 +0100 - build 5257

1. VS 2017 15.8.1.

zg 15.08.2018 00:00:47 +0300 - build 5256

1. protect all plugin calls with a global critical section.

drkns 09.08.2018 21:06:04 +0100 - 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.

drkns 05.08.2018 14:05:25 +0100 - build 5254

1. Continuation of 5252.

drkns 03.08.2018 12:13:31 +0100 - build 5253

1. Continuation of 5249.

drkns 03.08.2018 00:28:15 +0100 - build 5252

1. Correction of 5248.

drkns 02.08.2018 19:06:57 +0100 - build 5251

1. Correction of 5250.2.

drkns 02.08.2018 18:08:20 +0100 - build 5250

1. Refactoring.

2. A few small tweaks of interaction with sqlite.

zg 02.08.2018 18:54:18 +0300 - build 5249

1. correction of 5242.1 when the panel is closed in GetFilesW and DeleteFilesW.

drkns 01.08.2018 15:04:37 +0100 - build 5248

1. Refactoring.

drkns 25.07.2018 00:21:37 +0100 - build 5247

1. Correction of 5240.

2. Refactoring.

drkns 23.07.2018 23:54:41 +0100 - build 5246

1. Continuation of 5211.1. Associations !.! must be working again in archives.

zg 24.07.2018 00:57:09 +0300 - build 5245

1. correction of 5242.1 if the panel is closed in GetFindDataW.

drkns 23.07.2018 20:05:28 +0100 - build 5244

1. Refactoring of strings and string literals.

drkns 22.07.2018 23:02:33 +0100 - build 5243

1. Adapter UUID is checked on load, duplicates are ignored.

2. clang & gcc warnings.

3. Some renaming.

zg 22.07.2018 16:11:54 +0300 - build 5242

1. FCTL_CLOSEPANEL closes panel synchronously.

2. gcc warnings.

drkns 21.07.2018 18:41:29 +0100 - 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.

drkns 20.07.2018 23:07:50 +0100 - build 5240

1. Fix obtaining strings with winapi functions.

drkns 16.07.2018 18:30:13 +0100 - build 5239

1. Correction of 5238.2.

drkns 15.07.2018 14:42:42 +0100 - build 5238

1. New versions of tinyxml2 and fmt.

2. Adapters are shown in far:about.

drkns 14.07.2018 20:45:49 +0100 - build 5237

1. Clang warnings.

2. Compiler is shown in far:about.

drkns 08.07.2018 14:29:41 +0100 - build 5236

1. Improve exceptions processing.

2. Refactoring.

drkns 07.07.2018 14:31:27 +0100 - build 5235

1. Correction of 5215.

drkns 29.06.2018 20:49:29 +0100 - build 5234

1. #54: Far crashes when trying to free up memory used to store Descript.ion file records

drkns 27.06.2018 22:31:19 +0100 - build 5233

1. Continuation of 5068: remove storing filters and highlighting/sorting groups in the old format.

2. Refactoring.

zg 27.06.2018 13:41:38 +0300 - build 5232

1. correction of 5222.

drkns 22.06.2018 19:39:48 +0100 - build 5231

1. Correction of 5230.2.

drkns 21.06.2018 22:26:50 +0100 - 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).

drkns 21.06.2018 18:53:53 +0100 - build 5229

1. 0003621: It would be good to show "volume label" for network devices.

w17 20.06.2018 17:40:35 +0300 - build 5228

1. M#3614: arclite does not update sizes of files inside archive if external editor is used

svs 09.06.2018 18:11:19 +0300 - build 5227

1. SQLite 3.24.0

zg 05.06.2018 12:47:24 +0300 - build 5226

1. do not sort panel while receiving file list from plugin.

drkns 03.06.2018 10:21:52 +0100 - 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.

drkns 28.05.2018 17:48:30 +0100 - build 5224

1. After F3 on plugin panel and cancelling the scanning the allocated memory was not freed.

2. Refactoring.

drkns 23.05.2018 22:50:03 +0100 - build 5223

1. fmt v5.

2. VS2017 warning: std::all_of - nodiscard.

3. "Find all" menu could be bigger than needed.

zg 23.05.2018 16:25:25 +0300 - build 5222

1. crash if help is opened with menu and then the console window is closed with "X".

zg 22.05.2018 21:28:23 +0300 - 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.

drkns 20.05.2018 17:11:57 +0100 - build 5220

1. Links to main help file themes were erroneously considered external.

drkns 20.05.2018 11:51:48 +0100 - build 5219

1. Forum: clock won't refresh.

drkns 19.05.2018 15:06:40 +0100 - build 5218

1. Another odd bug after 5211.

drkns 19.05.2018 13:37:59 +0100 - 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.

drkns 18.05.2018 21:42:40 +0100 - build 5216

1. Bring interface of handmade string_view closer to the standard one. Part 1 - _sv -> sv.

drkns 17.05.2018 21:55:24 +0100 - 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).

drkns 16.05.2018 23:07:37 +0100 - build 5214

1. Use OS regional settings to group digits in numbers.

2. Refactoring.

drkns 15.05.2018 22:05:12 +0100 - build 5213

1. Another pair of corrections for 5211.

2. Refactoring.

drkns 14.05.2018 19:29:57 +0100 - build 5212

1. Correction of 5211.

drkns 14.05.2018 00:15:53 +0100 - 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.

drkns 10.05.2018 23:23:38 +0100 - build 5210

1. 0003606: Pause before displaying result of Ctrl+Q on folder

drkns 07.05.2018 16:51:02 +0100 - build 5209

1. Remove unwanted things from headers.hpp. Part 3.

2. 0003605: Command 'cd /d' doesn't work in User Menu

zg 06.05.2018 17:39:35 +0300 - build 5208

1. AltF1 F4 Enter - the dialog disappears and appears again after cursor move.

zg 06.05.2018 14:57:28 +0300 - build 5207

1. forum: Invoke Options->File panel modes dialog, then proceed to, say, Long descriptions and press Ctrl+Enter - the dialog disappears.

drkns 05.05.2018 17:04:38 +0100 - build 5206

1. Remove unwanted things from headers.hpp. Part 2.

w17 04.05.2018 15:40:01 +0300 - build 5205

1. forum: crash while parsing a date out of spaces if the date separator is also a space.

zg 04.05.2018 12:57:28 +0300 - build 5204

1. forum: unpacking an archive on Shift-F2: the name of the archive is not substituted as a folder for unpacking.

drkns 03.05.2018 21:55:10 +0100 - build 5203

1. Remove unwanted things from headers.hpp. Part 1.

drkns 02.05.2018 21:03:29 +0100 - build 5202

1. GCC 7.1 warning.

2. Possible truncation of a file name in copy dialog.

drkns 02.05.2018 00:54:38 +0100 - build 5201

1. Possible garbage in drive change error dialog.

drkns 01.05.2018 22:48:34 +0100 - 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.

drkns 28.04.2018 17:04:23 +0100 - build 5199

1. Remove formatting with spaces from *.lng finally.

2. GCC.

3. Warnings.

4. Refactoring.

drkns 26.04.2018 23:49:40 +0100 - build 5198

1. Do not show stack on *.lng reading errors.

drkns 25.04.2018 20:44:36 +0100 - build 5197

1. Show no more than 5 processes in blocked file dialog.
   Also show additional information on the processes.

2. Refactoring.

drkns 24.04.2018 23:29:12 +0100 - 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.

w17 23.04.2018 23:42:59 +0300 - build 5195

1. Correction of 5194.

drkns 21.04.2018 20:29:10 +0100 - build 5194

1. Show less rubbish in Task List.

MZK 15.04.2018 18:17:41 -0700

1. Reworked @CodePagesMenu and @EditCodePageNameDlg help pages.

MZK 14.04.2018 14:38:52 -0700 - build 5193

1. Reworked @FindAllMenu and @FileOpenCreate help pages.

2. Minor improvement of the Find-all menu.

drkns 14.04.2018 19:18:53 +0100 - build 5192

1. Continuation of 5190.

drkns 14.04.2018 11:34:11 +0100 - build 5191

1. Continuation of 5190.

drkns 13.04.2018 23:41:30 +0100 - 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.

svs 12.04.2018 20:41:01 +0300 - build 5189

1. SQLite 3.23.1

drkns 09.04.2018 07:48:13 +0100 - build 5188

1. Limit the Find-All menu hight to the half of the window heigh.

drkns 09.04.2018 07:28:34 +0100 - build 5187

1. Forum: Bug in renaming (Shift-F6) a file on a network share.

drkns 08.04.2018 13:30:30 +0100 - build 5186

1. Removed 'System settings / CD drive auto mount' (Windows 9x artefact, forgotten in 662).

MZK 07.04.2018 21:20:12 -0700 - build 5185

1. Find-all menu disappeared after go to a bookmark (LeftCtrl+0..9).

drkns 05.04.2018 11:07:08 +0300 - build 5184

1. Correction of 5182.

svs 04.04.2018 20:22:36 +0300 - build 5183

1. SQLite 3.23.0

drkns 04.04.2018 19:02:50 +0300 - build 5182

1. Repeated search of the string suffix did not work (aftermath of 5181). Try to fix another way.

MZK 02.04.2018 20:46:14 -0700 - build 5181

1. Fixed buffer overflow in SearchString + refactoring.

drkns 02.04.2018 16:36:26 +0300 - build 5180

1. Correction of 5175.

zg 02.04.2018 13:55:55 +0300 - build 5179

1. ctrlenter in "menu with the list of all matching entries" incorrectly refreshed the screen.

w17 02.04.2018 12:04:49 +0300 - build 5178

1. Extract alternate streams from .wim archives

drkns 31.03.2018 01:41:08 +0300 - build 5177

1. Use std::any (if present).

drkns 30.03.2018 11:35:45 +0300 - build 5176

1. Continuation of 5175.

drkns 29.03.2018 13:05:45 +0300 - build 5175

1. Forum: crash on File panel modes -> Ins Enter.

2. Incorrect deletion of multiple selected symlinks.

3. Refactoring.

drkns 23.03.2018 19:16:27 +0000 - build 5174

1. Continuation of 5173 - similar changes in deletion progress window.

drkns 23.03.2018 00:15:02 +0000 - 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.

drkns 20.03.2018 21:35:50 +0000 - build 5172

1. Correction of 5171.

drkns 19.03.2018 22:47:53 +0000 - build 5171

1. Choice of standard association in archive plugin choice menu worked incorrectly.

2. Refactoring.

MZK 18.03.2018 21:30:11 -0700

1. Rewrote @PreserveStyle help page (Both English and Russian).

drkns 14.03.2018 22:33:55 +0000 - build 5170

1. Non-functional cosmetics:
   - virtual override -> override
   - (void) -> ()
   - // fallthrough -> [[fallthrough]];
   - --memcpy

drkns 14.03.2018 10:01:32 +0000 - build 5169

1. A couple of corrections of 5168.

drkns 13.03.2018 22:40:25 +0000 - build 5168

1. Refactoring.

2. clang warnings.

3. Corrections of 5154.

yjh 11.03.2018 14:04:57 +0300 - build 5167

1. Corrections for old OS versions support with the use of DelayLoad

drkns 11.03.2018 09:47:19 +0000 - build 5166

1. 0003591: F9 "Right" item is highlighted while "Left" is not

drkns 10.03.2018 21:35:39 +0000 - build 5165

1. Correction of 5164.1.

drkns 10.03.2018 20:23:38 +0000 - build 5164

1. Fix VS2017.6 warnings instead of suppressing them.

2. "NoDrives" OS policy was not applied to detached network volumes.

drkns 05.03.2018 19:15:49 +0000 - build 5163

1. Correction of 5161.

drkns 05.03.2018 08:01:15 +0000 - build 5162

1. Fix VS2015 build.

drkns 04.03.2018 22:56:16 +0000 - build 5161

1. Static analysis warnings.

2. Refactoring.

drkns 03.03.2018 17:24:57 +0000 - build 5160

1. Do not mix narrow and wide characters in fmt calls.

zg 03.03.2018 17:11:47 +0200 - build 5159

1. correction of 5049: crash after passing null pointer to PointToName.

drkns 02.03.2018 13:57:21 +0000 - build 5158

1. Correction of 5155.

drkns 02.03.2018 09:54:21 +0000 - build 5157

1. Correction of 5155.

drkns 02.03.2018 09:28:54 +0000 - build 5156

1. Correction of 5155.

drkns 01.03.2018 21:45:36 +0000 - build 5155

1. Refactoring.

MZK 28.02.2018 22:26:27 -0800

1. Translated and edited @Viewer help page (both English and Russian).

drkns 01.03.2018 00:25:44 +0000 - build 5154

1. Continuation of 5150.3.

2. Refactoring.

zg 28.02.2018 14:24:01 +0200 - build 5153

1. ECTL_SETSTRING did not set eol when the string is empty.

zg 27.02.2018 13:51:24 +0200 - build 5152

1. Correction of 5150.2.

drkns 26.02.2018 00:18:23 +0000 - build 5151

1. fmt v5.

drkns 25.02.2018 23:42:42 +0000 - 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.

MZK 22.02.2018 23:18:21 -0800

1. Edited @CopyFiles help page (English and Russian).

2. Minor help additions and corrections; English translation.

MZK 21.02.2018 22:37:57 -0800 - build 5149

1. Fixed VC15 64-bit compilation error: C3487: 'int': all return expressions must deduce to the same type: previously it was '__int64'.

drkns 21.02.2018 21:29:53 +0000 - 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.

drkns 21.02.2018 01:56:58 +0000 - build 5147

1. Show module name in the stack trace.

zg 17.02.2018 17:43:21 +0200 - build 5146

1. 0003580: Text in input field is shifted when entering text in another field.

MZK 13.02.2018 23:19:56 -0800

1. Description of columns and stripes on @PanelViewModes and @PanelSettings help pages.

drkns 13.02.2018 20:42:25 +0000 - build 5145

1. Refactoring.

2. Autodetect gcc platform.

MZK 11.02.2018 19:01:14 -0800 - build 5144

1. In the FileList class, renamed "global columns" to "stripes" + refactoring.

drkns 11.02.2018 14:03:19 +0000 - build 5143

1. Correction of 5140 - revert trimming of spaces in lists.

2. Refactoring.

drkns 09.02.2018 00:33:16 +0000 - build 5142

1. Correction of 5140 - revert the logic "separator in square brackets is not a separator" for lists of masks.

2. Refactoring.

w17 08.02.2018 15:04:43 +0300 - build 5141

1. Forum: Commas in date

drkns 07.02.2018 23:31:59 +0000 - 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.

MZK 04.02.2018 22:16:59 -0800

1. Translated @FindFileAdvanced and @PanelSettings help pages to English in FarEng.hlf.m4.

2. Added missing option descriptions to Russian and English help.

w17 05.02.2018 01:51:12 +0300 - build 5139

1. fix 5136.2

zg 04.02.2018 19:58:46 +0200 - build 5138

1. guid for "Plugin information" dialog.

zg 04.02.2018 15:03:05 +0200 - 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.

drkns 03.02.2018 14:02:24 +0000 - 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.

MZK 01.02.2018 22:43:46 -0800

1. Translated @FindFile help page to English in FarEng.hlf.m4.

2. Replaced "codepage" with "code page" in the help and resource files.

zg 01.02.2018 22:12:58 +0200 - 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.

MZK 28.01.2018 15:50:33 -0800

1. Translated @FarAbout and @FarConfig help pages to English in FarEng.hlf.m4.

zg 27.01.2018 14:55:05 +0200 - build 5134

1. 0003577: Incorrect UNDO functioning after Editor.InsStr.

drkns 25.01.2018 22:03:48 +0000 - 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.

svs 24.01.2018 11:56:03 +0300 - build 5132

1. SQLite 3.22.0

drkns 24.01.2018 07:37:22 +0000 - build 5131

1. '@' now has no meaning in launcher and is ignored.

zg 21.01.2018 15:17:46 +0200 - build 5130

1. correction of 5118.

drkns 20.01.2018 15:25:15 +0000 - build 5129

1. Forum: F5 in filters menu works for the next item

drkns 15.01.2018 21:52:18 +0000 - build 5128

1. 0003575: Selection with "+" with the use of filters

zg 15.01.2018 17:29:26 +0200 - 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.

drkns 11.01.2018 23:30:04 +0000 - build 5126

1. Refactoring.

drkns 11.01.2018 16:23:01 +0000 - build 5125

1. 0003574: Alt+F7 search won't work in directories if their names contain a comma

drkns 10.01.2018 23:23:33 +0000 - build 5124

1. Private buffer for ostream as a replacement for CachedWrite.

zg 07.01.2018 17:29:09 +0200 - build 5123

1. after 5118 filling of autocompletion menu vas visible.

drkns 06.01.2018 18:38:21 +0000 - build 5122

1. Standard input/output streams use their own buffer (for more correct processing of unicode).

2. New version of tinyxml2.

drkns 05.01.2018 23:03:50 +0000 - build 5121

1. Fixes for handling exceptions.

drkns 05.01.2018 21:47:18 +0000 - build 5120

1. Static analysis warnings & minor refactoring.

drkns 04.01.2018 18:17:13 +0000 - build 5119

1. Correction of 5108.

2. Optimization for GetFileString.

zg 04.01.2018 15:56:53 +0200 - build 5118

1. reduce the number of redraws for vertical menu.

zg 04.01.2018 14:17:44 +0200 - build 5117

1. if the dialog has cancelled moving while ctrlf5 effect, the keypress is passed to the dialog procedure.

zg 30.12.2017 19:30:26 +0200 - 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 27.12.2017 21:45:47 +0000 - build 5115

1. Correction of 5114.

drkns 21.12.2017 21:50:42 +0000 - 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.

drkns 20.12.2017 23:36:38 +0000 - build 5113

1. Another correction of 5108.

2. For lines inserted by ansi plugins, explicit absence of EOL could be ignored.

drkns 20.12.2017 12:25:34 +0000 - build 5112

1. G#12 - correction of 5108.

drkns 20.12.2017 07:56:47 +0000 - build 5111

1. Correction of 5108.1 - bugs as expected.

drkns 19.12.2017 23:12:07 +0000 - build 5110

1. Remove excessively smart processing of prefixes (rollback down to 1840), it also fixes G#11.

2. Refactoring.

drkns 19.12.2017 08:16:14 +0000 - build 5109

1. Correction of 5108.

drkns 18.12.2017 19:00:52 +0000 - build 5108

1. Refactoring. Weird processing of line ends in editor has been redone. Bugs are possible.

2. Support for the next VS2017 update.

drkns 17.12.2017 16:24:34 +0000 - build 5107

1. 0003120: Search and Replace in Editor fails if Replace pattern contains 0x0D + Search Pattern
   Also, block Undo has been added.

drkns 13.12.2017 17:28:49 +0000 - build 5106

1. arclite and netbox could get unexpected values from apiCreateFile.

zg 30.11.2017 02:10:31 +0200 - build 5105

1. 0003529: FE_GOTFOCUS is not sent on panel create.

zg 29.11.2017 23:09:27 +0200 - build 5104

1. 0003561: Macro area is not changed on QView switch off.

zg 29.11.2017 18:50:13 +0200 - build 5103

1. 0002737: FCTL_SETPANELDIR closes plugin panels for no purpose.

zg 28.11.2017 17:39:59 +0200 - 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.

drkns 26.11.2017 21:10:49 +0000 - build 5101

1. Don't use GetThreadLocale().

zg 26.11.2017 17:18:49 +0200 - build 5100

1. remove implementation of panel.SetPath macro function.

drkns 26.11.2017 14:25:46 +0000 - build 5099

1. Correction of 5068 - more correct loading for filters of old format.

2. Refactoring.

drkns 23.11.2017 22:33:18 +0000 - 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

drkns 15.11.2017 21:09:49 +0000 - build 5097

1. Correction of 5095.1.

drkns 15.11.2017 18:56:07 +0000 - build 5096

1. Correction of 5095.1.

drkns 14.11.2017 22:59:35 +0000 - build 5095

1. Refactoring.

2. A new version for fmt.

3. Some help translation.

4. gcc min version is 7.1.

zg 11.11.2017 01:34:14 +0200 - build 5094

1. correction of 5090.

pmisik 08.11.2017 18:40:00 +0000 - build 5093

1. Support to expand environment variables in title

drkns 07.11.2017 20:28:56 +0000 - build 5092

1. 0002323: WindowMode: click in empty space opens menu
   0002648: Mouse selection for copying from the console buffer when MindowMode=true

drkns 05.11.2017 15:25:38 +0000 - build 5091

1. Smarter clipping of command line prompt (by its components).

zg 04.11.2017 20:22:28 +0200 - build 5090

1. rollback of 5082.

2. the last FCTL_SETUSERSCREEN always closes Desktop.

shmuel 03.11.2017 16:34:19 +0200 - build 5089

1. Correction of 5088.

shmuel 03.11.2017 16:12:16 +0200 - build 5088

1. Correction of 4575 for plugin panels.

zg 03.11.2017 13:24:25 +0200 - build 5087

1. various combinations of ctrl, alt and shift do not interrupt selection in editor and do not close quick search in panels.

drkns 01.11.2017 22:08:24 +0000 - build 5086

1. An excessive item is removed from user name format settings in info panel.

2. English translation in Help.

drkns 01.11.2017 17:34:28 +0000 - build 5085

1. In some cases, instructions at the beginning of language files could be ignored.

drkns 31.10.2017 18:35:11 +0000 - build 5084

1. "lua:panel.GetUserScreen(), then f10 and exit - crash".

w17 31.10.2017 20:58:37 +0300 - build 5083

1. Panel.ShowBytes setting will be visible to plugins.

zg 30.10.2017 18:50:05 +0200 - build 5082

1. plugin prefixes are processed outside of launcher context.

drkns 29.10.2017 19:39:55 +0000 - build 5081

1. Error in processing the "%z" parameter of date() function - DST bias was always taken into account.

drkns 29.10.2017 15:39:04 +0000 - build 5080

1. Refactoring.

drkns 28.10.2017 12:18:36 +0100 - build 5079

1. Refactoring - rename & move.

svs 27.10.2017 21:18:41 +0300 - build 5078

1. SQLite 3.21.0

drkns 26.10.2017 23:03:02 +0100 - build 5077

1. Correction of 5076.2 - synchronize caching.

drkns 26.10.2017 20:06:28 +0100 - build 5076

1. Forum: crash on delete with privilege escalation.

2. Caching LookupPrivilegeValue results.

drkns 26.10.2017 00:01:39 +0100 - build 5075

1. Continuation of 3503: pass LastError / LastNtStatus state into Message directly, not via global variables.

drkns 25.10.2017 22:37:34 +0100 - build 5074

1. The sorting groups work only in modes by name and by extension just like before.

drkns 25.10.2017 19:02:49 +0100 - build 5073

1. Correction of 5071 - OEM CP by default.

zg 25.10.2017 13:41:20 +0300 - build 5072

1. 0003524: FCTL_SETUSERSCREEN and dialogs.

drkns 24.10.2017 20:41:53 +0100 - build 5071

1. Correction of 5067 - broken logic "when neither the correct lng nor the english one is found then use anything".

drkns 23.10.2017 20:20:30 +0100 - build 5070

1. Malfunctioning query for privileges when copying symlinks.

2. A couple of issues.

zg 20.10.2017 17:09:22 +0300 - build 5069

1. forum: Dialog redrawing error in Viewer.

drkns 19.10.2017 20:23:16 +0100

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.

drkns 19.10.2017 01:07:23 +0100 - 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.

drkns 18.10.2017 00:47:15 +0100 - build 5067

1. Forum: incorrect displaying of help (actually reading, see "even number of bugs") if its language does not match the current one.

zg 16.10.2017 17:28:26 +0300 - 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.

zg 15.10.2017 16:22:28 +0300 - build 5065

1. correction of 5050.1: macro Align Block Special is broken.

drkns 11.10.2017 22:04:47 +0100 - build 5064

1. Privilege escalation on directory creation was broken in 5049.

zg 08.10.2017 14:45:39 +0300 - build 5063

1. 0003514: Possibility of setting priority for macros defined via MCTL_ADDMACRO.

drkns 06.10.2017 18:12:24 +0100 - build 5062

1. And another one.

drkns 04.10.2017 23:47:28 +0100 - build 5061

1. Another one.

drkns 02.10.2017 16:09:16 +0100 - build 5060

1. Another one.

drkns 02.10.2017 15:59:05 +0100 - build 5059

1. Another correction of 5049.

drkns 02.10.2017 00:34:01 +0100 - build 5058

1. Correction of 5057 (actually not, the bug is 4+ years old).

drkns 01.10.2017 22:59:43 +0100 - build 5057

1. Refactoring.

drkns 01.10.2017 10:02:27 +0100 - build 5056

1. Another correction of 5049.

zg 01.10.2017 03:15:57 +0300 - build 5055

1. correction of 5050.1: Start VisRen plugin and press Down many times, some UI flashing occurs.

drkns 30.09.2017 23:23:55 +0100 - build 5054

1. Forum: Search stops after folder (symlink) excluded in filter.

2. Correction of search in alternate streams.

zg 01.10.2017 00:05:03 +0300 - build 5053

1. incorrect sending of DN_CONTROLINPUT with Param1=-1 on any mouse movement if TRUE was returned the first time.

zg 30.09.2017 23:33:20 +0300 - 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.

drkns 30.09.2017 14:00:05 +0100 - build 5051

1. Refactoring.

2. Correction of 5049 - incorrect processing of masks containing [] and alignment of extensions.

zg 30.09.2017 15:01:48 +0300 - build 5050

1. partial fix for direct drawing dialog on screen.

2. a non-modal dialog is shown immediately.

drkns 29.09.2017 23:31:12 +0100 - build 5049

1. Start dividing big and ugly farwinapi to separate modules.

2. Refactoring.

3. Forum - crash on empty history.

zg 29.09.2017 11:35:02 +0300 - build 5048

1. DN_GOTFOCUS/DN_KILLFOCUS events with param1=-1 are issued for non-modal dialogs when the window gains/loses the focus.

zg 28.09.2017 19:22:53 +0300 - 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.

drkns 25.09.2017 22:30:09 +0100 - build 5046

1. Another correction of 5038.

drkns 25.09.2017 20:58:23 +0100 - build 5045

1. Continuation of 4679 - recognition of launch type for system associations given without full path.

drkns 25.09.2017 20:22:04 +0100 - build 5044

1. Correction of 5038.

drkns 25.09.2017 19:57:02 +0100 - build 5043

1. Correction of 5041.

drkns 25.09.2017 08:43:19 +0100 - build 5042

1. 0003506: Crash when Shift+Enter on any folder

drkns 24.09.2017 23:23:04 +0100 - build 5041

1. 0003501: Do not hide panels on launching a prefix according to association from command line

drkns 24.09.2017 21:26:19 +0100 - build 5040

1. 0003504: Hotkey continues functioning after rebind

drkns 24.09.2017 18:26:06 +0100 - build 5039

1. Correction of 5038.2.

drkns 24.09.2017 16:59:37 +0100 - 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.

zg 23.09.2017 15:25:28 +0300 - build 5037

1. on file save in editor the current directory was set to where the editor was invoked.
   removed.

drkns 21.09.2017 21:43:58 +0100 - 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.

drkns 20.09.2017 21:35:37 +0100 - build 5035

1. Continuation of 5030.3.

drkns 20.09.2017 07:37:25 +0100 - build 5034

1. Correction of 5032.

drkns 19.09.2017 23:14:44 +0100 - build 5033

1. 0003497: regexps stopped working (more correct fix than 4492).

drkns 16.09.2017 23:23:44 +0100 - build 5032

1. Continuation of 5030.3.

drkns 15.09.2017 23:44:07 +0100 - 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

drkns 15.09.2017 00:48:00 +0100 - 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.

drkns 13.09.2017 20:19:28 +0100 - build 5029

1. Rollback 5027.2 and 5028.1.

drkns 12.09.2017 21:04:02 +0100 - build 5028

1. Continuation of 0003481.

drkns 11.09.2017 20:45:30 +0100 - 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.

drkns 09.09.2017 22:00:37 +0100 - build 5026

1. Capture the stack also for the exceptions that have been caught and rethrown via exception_ptr.

2. Refactoring.

drkns 09.09.2017 17:32:31 +0100 - build 5025

1. 0003485: Exception on attempt of viewing an incorrect? hlf

zg 03.09.2017 14:24:00 FLE Daylight Time - build 5024

1. if selection was removed in an inactive editor then it would be drawn on top of all the windows.

drkns 02.09.2017 20:59:58 +0100 - build 5023

1. 0003470: GetVHDInfo called even DRIVE_SHOW_TYPE is not set and even under XP where VHD API is not available

shmuel 02.09.2017 20:34:02 +0200 - build 5022

1. FileList::SetSortMode() - memory read out of array bounds.

drkns 02.09.2017 16:16:24 +0100 - build 5021

1. Correction of 5020.1.

drkns 02.09.2017 15:38:54 +0100 - build 5020

1. Refactoring. Remove duplicated code and move something out from common.hpp.

2. Use IsProcessorFeaturePresent to detect absence of SSE2.

drkns 30.08.2017 20:44:52 +0100 - build 5019

1. New versions of tinyxml2 and fmt.

2. Do not preload lua51.dll for no plugins installed.

svs 30.08.2017 14:14:51 +0300 - build 5018

1. SQLite 3.20.1

w17 30.08.2017 13:53:46 +0300 - build 5017

1. Correction+ of 5015

w17 30.08.2017 13:19:19 +0300 - build 5016

1. Correction of 5015

w17 30.08.2017 12:21:12 +0300 - build 5015

1. Preload %FARHOME%\legacy\lua51.dll if x86 CPU doesn't support SSE2.

drkns 26.08.2017 11:20:44 +0100 - 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.

shmuel 24.08.2017 15:16:45 +0200 - build 5013

1. MCTL_GETLASTERROR can now be also called after MSSC_POST and MCTL_EXECSTRING.

2. MCTL_EXECSTRING now respects KMFLAGS_SILENTCHECK flag.

shmuel 23.08.2017 12:57:35 +0200 - build 5012

1. KMFLAGS_SILENTCHECK flag was ignored in MSSC_POST command.

drkns 18.08.2017 09:30:57 +0000 - build 5011

1. Adjustment of buttons to the center of search dialog on size change would not work.

drkns 17.08.2017 22:31:49 +0000 - 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.

drkns 16.08.2017 11:43:28 +0000 - build 5009

1. Correction of 5008.

drkns 16.08.2017 09:54:19 +0000 - build 5008

1. Forum: text adjusted to the left/right border was displayed completely even if it would not fit in the borders.

drkns 16.08.2017 09:22:10 +0000 - build 5007

1. Forum: DI_TEXT + DIF_CENTERTEXT was adjusted to dialog center instead of coordinates X1 and X2.

drkns 14.08.2017 21:38:39 +0000 - build 5006

1. Now FCTL_<G|S>ETUSERSCREEN can be used also from editor (-e) and viewer (-v) modes.

drkns 13.08.2017 17:07:42 +0000 - build 5005

1. Correction of 4959.

drkns 11.08.2017 01:15:42 +0000 - build 5004

1. Refactoring.

drkns 09.08.2017 00:11:01 +0000 - build 5003

1. Once more for the owners.

drkns 08.08.2017 20:27:34 +0000 - 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

svs 08.08.2017 12:26:57 +0300 - build 5001

1. SQLite 3.20.0

drkns 06.08.2017 11:07:04 +0000 - build 5000

1. Another correction of 4996.

drkns 04.08.2017 20:07:24 +0000 - build 4999

1. Forum: "Crash on going upwards from RESearch panel"

drkns 04.08.2017 00:27:23 +0000 - build 4998

1. Correction of 4997 - broken replace.

2. Fix for the old bug on replacing a line containing "\r".

drkns 01.08.2017 20:39:18 +0000 - build 4997

1. Continuation of #3462 - do not change cursor position without the need.

drkns 31.07.2017 20:01:11 +0000 - 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.

drkns 30.07.2017 01:45:36 +0000 - build 4995

1. Refactoring.

drkns 23.07.2017 22:34:57 +0000 - build 4994

1. 0003457: Mouse is functional in FAR even if the "Interface settings - Mouse" setting is off

2. Refactoring.

drkns 23.07.2017 10:31:34 +0000 - build 4993

1. Search would not work in help.

2. Autocompletion would not work in some cases.

drkns 22.07.2017 13:25:18 +0000 - build 4992

1. Forum: Incorrect indication of error position in regular expression

drkns 21.07.2017 19:29:12 +0000 - build 4991

1. Correction of 4989.

drkns 20.07.2017 23:10:16 +0000 - build 4990

1. Return low memory protection, added in 1741 and lost in 3791.

drkns 20.07.2017 01:09:52 +0000 - build 4989

1. Refactoring. Stop spreading PANEL_STOP all over the codebase.

drkns 18.07.2017 20:34:50 +0000 - build 4988

1. Refactoring.

2. Coverity warnings.

shmuel 18.07.2017 13:36:33 +0200 - build 4987

1. M#3428: add GUIDs for dialogs of editing/insertion of user menu items.

drkns 17.07.2017 21:53:50 +0000 - build 4986

1. 0003454: Completion of paths stopped recognition of / as a separator.

shmuel 12.07.2017 23:53:19 +0200 - build 4985

1. Erroneous DM_SETTEXT for DI_LISTBOX (since build 4248).

drkns 04.07.2017 23:44:29 +0000 - 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.

drkns 03.07.2017 19:31:28 +0000 - build 4983

1. A macro could cause an exception in menu with active filter under some circumstances.

drkns 02.07.2017 13:53:50 +0000 - build 4982

1. Forum: Weird values in copy/move dialogs

drkns 01.07.2017 13:08:48 +0000 - build 4981

1. Stubs in vc_crt_fix_impl.cpp are replaced with more or less working implementations.

2. Correct the leak detector.

drkns 28.06.2017 19:02:42 +0000 - build 4980

1. Incorrect display of information on locked file.

2. fmt v4.0.0.

3. TinyXML-2 v5.0.1

drkns 25.06.2017 02:03:37 +0000 - build 4979

1. Refactoring.

drkns 23.06.2017 16:48:00 +0000 - build 4978

1. Forum: unnecessary privilege request

drkns 22.06.2017 23:26:01 +0000 - build 4977

1. Refactoring.

drkns 21.06.2017 07:30:17 +0000 - build 4976

1. In some cases, the plugin could cause an exception in a menu with filter enabled.

svs 19.06.2017 07:24:13 +0300 - build 4975

1. SQLite 3.19.3

drkns 18.06.2017 10:59:10 +0000 - build 4974

1. Correction of 4945.

drkns 05.06.2017 13:26:32 +0200 - build 4973

1. Correction of 4887.

2. Refactoring.

svs 30.05.2017 23:13:19 +0300 - build 4972

1. SQLite 3.19.2

drkns 29.05.2017 14:46:17 +0000 - build 4971

1. Correction of 4969.

shmuel 27.05.2017 02:27:03 +0200 - build 4970

1. Correction of 4585: switching between FAR and plugin panel would not save custom sorting.

drkns 26.05.2017 21:45:31 +0000 - build 4969

1. Continuation of 4963.

svs 24.05.2017 21:58:27 +0300 - build 4968

1. SQLite 3.19.1

drkns 23.05.2017 23:10:16 +0000 - build 4967

1. Another correction of 4963.

drkns 22.05.2017 23:20:20 +0000 - build 4966

1. Correction of 4963.

drkns 22.05.2017 20:44:12 +0000 - build 4965

1. More on gcc 7.

drkns 20.05.2017 23:45:02 +0000 - build 4964

1. gcc 7.

drkns 19.05.2017 23:29:09 +0000 - 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.

drkns 16.05.2017 07:34:39 +0000 - build 4962

1. Correction of plugin loading process.

drkns 15.05.2017 14:39:00 +0000 - 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.

drkns 14.05.2017 20:32:53 +0000 - build 4960

1. Correction of 4957.

drkns 14.05.2017 20:09:37 +0000 - 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.

drkns 13.05.2017 20:07:39 +0000 - build 4958

1. Fix broken sorting.

drkns 13.05.2017 11:11:40 +0000 - build 4957

1. 0003430: Privilege escalation error in Far 3.0.4949

drkns 11.05.2017 00:06:47 +0000 - build 4956

1. 0003433: FAR doesn't restore console caption changed by a program

2. A pair of minor issues.

drkns 09.05.2017 22:40:36 +0000 - build 4955

1. Correction of 4950 - crash on messages without strings.

drkns 06.05.2017 21:45:46 +0000 - build 4954

1. Correction of 4945.

drkns 05.05.2017 00:31:34 +0000 - build 4953

1. Correction of 4952.

drkns 04.05.2017 20:45:42 +0000 - build 4952

1. Refactoring.

drkns 03.05.2017 00:02:38 +0000 - build 4951

1. Correction of 4950.

drkns 02.05.2017 23:55:28 +0000 - build 4950

1. Somewhat reduce data copying in Message().

zg 02.05.2017 16:38:35 +0200 - build 4949

1. correction of 4945: 'if exist' would not work.

drkns 01.05.2017 22:42:32 +0000 - build 4948

1. Correction of 4945.

zg 01.05.2017 16:49:59 +0200 - build 4947

1. correction of 4945: CtrlEnd would not work in command line and editor lines when autocompletion was off.

zg 01.05.2017 16:05:46 +0200 - build 4946

1. correction of 4945: case-insensitive search in editor would not work.

drkns 01.05.2017 00:21:40 +0000 - build 4945

1. Refactoring.

drkns 27.04.2017 20:58:46 +0000 - build 4944

1. Remove space characters when processing 'pushd'.

2. More correct removal of quotes when processing 'set'.

zg 25.04.2017 12:59:57 +0200 - build 4943

1. exception on mf.fsplit('a.:',0x4+0x8) call

drkns 24.04.2017 07:59:10 +0000 - build 4942

1. Correction of 4940 once more.

drkns 23.04.2017 22:24:28 +0000 - build 4941

1. Correction of 4936.

2. Correction of 4940.

3. Refactoring.

drkns 23.04.2017 15:52:18 +0000 - build 4940

1. 0003216: Shift key is ignored in dialogs when "Append first matched item" autocompletion option is on

drkns 22.04.2017 20:39:26 +0000 - build 4939

1. Correction of 4938.

2. Refactoring.

drkns 22.04.2017 14:04:11 +0000 - 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.

drkns 18.04.2017 22:21:06 +0000 - build 4937

1. Refactoring.

drkns 17.04.2017 22:16:12 +0000 - 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.

drkns 12.04.2017 18:58:51 +0000 - build 4935

1. Continuation of 4934.

drkns 11.04.2017 07:51:48 +0000 - build 4934

1. Processing of numpad keys in panel modes editing menu.

drkns 08.04.2017 19:00:16 +0000 - build 4933

1. Refactoring.

drkns 06.04.2017 07:53:14 +0000 - build 4932

1. Wiping of empty files would not work.

drkns 05.04.2017 20:10:41 +0000 - build 4931

1. Correction of 4928.

2. Minor issues.

zg 05.04.2017 20:41:01 +0200 - build 4930

1. 0003419: Crash on resizing a window containing an opened drop-down list.

svs 02.04.2017 20:22:22 +0300 - build 4929

1. SQLite 3.18.0

drkns 01.04.2017 13:54:43 +0000 - build 4928

1. Refactoring.

shmuel 28.03.2017 13:40:20 +0200 - build 4927

1. M#3415: error in menu.itemstatus

drkns 26.03.2017 12:56:32 +0000 - build 4926

1. Refactoring.

zg 26.03.2017 14:48:27 +0200 - build 4925

1. RestoreScreen restores the screen content right away.

drkns 24.03.2017 18:18:14 +0000 - build 4924

1. Correction of 4923.

drkns 23.03.2017 23:28:58 +0000 - build 4923

1. Refactoring.

w17 23.03.2017 21:39:02 +0300 - 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).

drkns 21.03.2017 20:39:52 +0000 - build 4921

1. From the forum: Crash in cancelled file edit in NetBox

drkns 21.03.2017 01:31:42 +0000 - build 4920

1. Debug symbols would not always be loaded.

2. Refactoring.

drkns 20.03.2017 23:25:32 +0000 - build 4919

1. Correction of 4888.

drkns 16.03.2017 23:14:59 +0000 - build 4918

1. Refactoring.

shmuel 15.03.2017 21:40:52 +0200 - 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.

drkns 15.03.2017 11:30:29 +0000 - build 4916

1. Correction of 4907.

2. Refactoring.

drkns 13.03.2017 15:01:25 +0000 - build 4915

1. Correction of processing of SEH exceptions in non-main threads.

drkns 13.03.2017 13:39:47 +0000 - build 4914

1. Forum: Archive containing another archive is deleted

drkns 11.03.2017 00:05:34 +0000 - build 4913

1. Forum: the caption of help window is shifted right.

zg 10.03.2017 13:55:54 +0200 - build 4912

1. under certain circumstances in user menu the editor/viewer, called via edit:/view:, was modal.

drkns 09.03.2017 07:35:59 +0000 - build 4911

1. 0003404: `Lock editing of read-only files` is ignored (regression)

drkns 08.03.2017 19:14:38 +0000 - build 4910

1. Remove constexpr from static objects - it has become even worse in VS2017.

drkns 08.03.2017 17:34:21 +0000 - build 4909

1. VS2017 support.

2. VS2017 & clang warnings.

3. Refactoring.

zg 07.03.2017 03:02:10 +0200 - build 4908

1. remove WaitInMainLoop global variable.

drkns 06.03.2017 14:08:55 +0000 - build 4907

1. Exit from network plugin could cause transition to an inexisting folder.

2. Refactoring.

zg 06.03.2017 14:02:30 +0200 - build 4906

1. 0003401: Weird bug with clock in editor.

drkns 05.03.2017 16:01:22 +0000 - 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.

drkns 28.02.2017 18:57:23 +0000 - build 4904

1. Temporary files were not removed after invoking viewer from search results.

drkns 27.02.2017 19:04:21 +0000 - build 4903

1. 0003358: ArcLite. The system cannot find the path specified

drkns 22.02.2017 23:45:29 +0000 - build 4902

1. Processing of 'set' command would not remove quotes from the filter.

drkns 21.02.2017 18:50:57 +0000 - build 4901

1. A typo in 4883.

drkns 20.02.2017 19:16:22 +0000 - build 4900

1. Coverity warnings.

drkns 18.02.2017 19:05:09 +0000 - build 4899

1. Refactoring, renaming.

svs 14.02.2017 20:19:16 +0300 - build 4898

1. SQLite 3.17.0

zg 12.02.2017 20:58:11 +0200 - build 4897

1. correction of 4889.

drkns 11.02.2017 15:51:04 +0000 - build 4896

1. Refactoring.

drkns 10.02.2017 22:44:19 +0000 - build 4895

1. Correction of 4892.

drkns 10.02.2017 22:12:46 +0000 - build 4894

1. Refactoring.

yjh 08.02.2017 23:33:29 +0300 - 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)

drkns 08.02.2017 19:50:19 +0000 - build 4892

1. Refactoring.

drkns 08.02.2017 19:44:46 +0000 - 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.

zg 07.02.2017 12:15:01 +0200 - build 4890

1. correction of 4889.

zg 30.01.2017 17:04:33 +0200 - build 4889

1. ECTL_SETTITLE being called from EE_REDRAW does not reset the console buffer.

drkns 24.01.2017 22:13:49 +0000 - build 4888

1. Correction of 4887.

2. Refactoring.

drkns 23.01.2017 19:30:10 +0000 - build 4887

1. Correction of 4885.

2. Refactoring.

w17 23.01.2017 19:46:07 +0300 - build 4886

1. forum: a mark character can't be inserted in highlighting

drkns 20.01.2017 18:35:54 +0000 - build 4885

1. 0003385: User menu is broken after editing.

drkns 19.01.2017 23:30:22 +0000 - build 4884

1. tinyxml2 and fmt new versions.

drkns 19.01.2017 23:23:24 +0000 - build 4883

1. Refactoring.

svs 11.01.2017 15:22:11 +0300 - build 4882

1. SQLite 3.16.2

svs 04.01.2017 23:15:57 +0300 - build 4881

1. SQLite 3.16.1

w17 02.01.2017 13:31:46 +0300 - build 4880

1. Correction of 4874

w17 02.01.2017 12:14:24 +0300 - build 4879

1. Correction and continuation of 4875

drkns 30.12.2016 21:51:04 +0200 - build 4878

1. Remove forgotten debug code.

drkns 30.12.2016 20:12:15 +0200 - build 4877

1. Refactoring.

drkns 28.12.2016 23:04:30 +0200 - build 4876

1. Forum: garbage could be displayed at a panel while moving files with descriptions.

2. Refactoring.

w17 24.12.2016 21:57:03 +0300 - build 4875

1. 0003361: Admin privileges are requested for file rename

w17 24.12.2016 21:39:58 +0300 - build 4874

1. 0003366: expand the area of Ctrl-Shift-S function

w17 22.12.2016 20:51:29 +0300 - build 4873

1. -viewer crashes searching in very long lines.

drkns 19.12.2016 20:38:48 +0200 - build 4872

1. Refactoring.

drkns 18.12.2016 18:52:41 +0200 - build 4871

1. Refactoring.

zg 17.12.2016 01:01:39 +0200 - build 4870

1. 0003367: Undo leaves space characters which were missing before.

drkns 14.12.2016 01:41:17 +0200 - build 4869

1. 0003353: Incorrect drawing after pc wake up from sleep.

2. Minor issues.

drkns 06.12.2016 09:32:48 +0200 - build 4868

1. Rollback 4866.1 for now because it happened to be even worse.

drkns 06.12.2016 02:43:44 +0200 - build 4867

1. Correction of 4866.

drkns 06.12.2016 00:43:52 +0200 - 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.

svs 02.12.2016 12:10:47 +0300 - build 4865

1. SQLite 3.15.2

drkns 01.12.2016 22:11:17 +0200 - build 4864

1. Incorrect path for ".." on panel in screens list (F12)

2. A bit of refactoring.

drkns 29.11.2016 21:50:31 +0200 - build 4863

1. Crash on invoking the associations menu with no associations.

zg 29.11.2016 19:09:02 +0200 - build 4862

1. continuation of 4808.1.

zg 29.11.2016 17:06:30 +0200 - 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.

drkns 28.11.2016 17:01:39 +0200 - 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

drkns 27.11.2016 11:48:40 +0200 - build 4859

1. On drive change with mouse, the current directory of the panel was not always set.

drkns 26.11.2016 14:11:57 +0200 - build 4858

1. Partial rollback for 4853 for W2k compatibility.

drkns 26.11.2016 03:41:05 +0200 - 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.

zg 25.11.2016 23:42:39 +0200 - build 4856

1. Correction of 4853.2.

drkns 25.11.2016 17:46:52 +0200 - build 4855

1. Correction of 4853.2.

drkns 25.11.2016 17:34:15 +0200 - build 4854

1. gcc 5.

drkns 25.11.2016 15:41:04 +0200 - build 4853

1. 0003355: Far freeze on request for privileges while searching in archives.

2. Continuation of 4849.

drkns 23.11.2016 23:32:50 +0200 - 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

w17 23.11.2016 08:18:32 +0300 - build 4851

1. Fix for 2643 -- text disappear in viewer.

drkns 23.11.2016 02:44:51 +0200 - build 4850

1. Incorrect displaying of hex viewer.

drkns 22.11.2016 03:33:12 +0200 - 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.

zg 21.11.2016 20:27:54 +0200 - build 4848

1. search results dialog is now updated in the main thread. synchronization in dialogs and menus is removed.

drkns 21.11.2016 10:20:02 +0200 - build 4847

1. Another correction of 4834.

2. Refactoring.

w17 20.11.2016 15:40:36 +0300 - build 4846

1. Fix 2201.

drkns 19.11.2016 14:44:48 +0200 - build 4845

1. After 4834 the associations menu worked incorrectly.

2. A couple of issues.

drkns 18.11.2016 20:16:18 +0200 - build 4844

1. Another couple of corrections in 4834.

drkns 18.11.2016 17:53:42 +0200 - build 4843

1. Correction of right border line alignment in UI elements.

2. Coverity warnings.

3. Refactoring.

zg 17.11.2016 11:48:08 +0200 - build 4842

1. 0003352: CtrlC resets "unmodified text" state.

zg 16.11.2016 14:48:22 +0200 - build 4841

1. separate dragging with mouse and with keyboard.

svs 15.11.2016 11:18:33 +0300 - build

1. Append info on "far:config" and "far:about" in Help

drkns 15.11.2016 07:32:16 +0200 - build 4840

1. Remove workaround added in 4835 - fixed in library.

zg 13.11.2016 23:24:26 +0200 - build 4839

1. correction of 4838 for menu.

zg 13.11.2016 20:44:50 +0200 - build 4838

1. remove direct processing of input while dragging a dialog.

drkns 13.11.2016 18:38:58 +0200 - build 4837

1. Correction of 4834.

drkns 13.11.2016 14:47:30 +0200 - build 4836

1. 0003348: Far(build 4834) Trap on show folder/file attribute dialog

drkns 13.11.2016 14:17:47 +0200 - build 4835

1. gcc version did not work in ancient OSes.

drkns 12.11.2016 13:07:03 +0200 - build 4834

1. Use fmtlib instead of FormatString, FormatScreen, str_printf, ostringstream etc.
   A lot of changes, bugs are possible.

2. Other related refactoring.

svs 08.11.2016 08:10:59 +0300 - build 4833

1. SQLite 3.15.1

drkns 04.11.2016 00:29:33 +0200 - build 4832

1. Correction of 4831.

zg 31.10.2016 20:55:32 +0200 - build 4831

1. 0003337: Console caption is not restored since 4809.

drkns 21.10.2016 00:55:50 +0200 - build 4830

1. Coverity warnings.

2. A couple of issues.

shmuel 20.10.2016 19:36:54 +0200 - 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.

drkns 20.10.2016 01:41:37 +0200 - build 4828

1. More on Maximise/Restore and Alt+F9.

svs 17.10.2016 11:50:09 +0300 - build 4827

1. SQLite 3.15.0

drkns 15.10.2016 14:32:31 +0200 - 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.

zg 15.10.2016 03:59:22 +0200 - build 4825

1. correction of 4808.1.

2. ACTL_REDRAWALL could leave some windows not redrawn.

w17 14.10.2016 20:34:39 +0300 - 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.

zg 13.10.2016 17:16:58 +0200 - build 4823

1. 0003327: ECTL_REDRAW does not redraw during processing.

drkns 13.10.2016 09:33:05 +0200 - build 4822

1. Correction of 4603. Pass the enumerated to custom sorting only if it has already been read or it will be read.

drkns 12.10.2016 23:24:37 +0200 - build 4821

1. 0003304: Console output from a plugin is duplicated beyond the window

zg 11.10.2016 18:16:57 +0200 - 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.

drkns 10.10.2016 23:09:35 +0200 - build 4819

1. Shorten copy-paste a bit in file modification time check.

zg 10.10.2016 16:33:04 +0200 - build 4818

1. 0003325: Detect external file editing and post back to plugin.

drkns 10.10.2016 02:27:15 +0200 - build 4817

1. Correction of 4816.

drkns 09.10.2016 21:48:44 +0200 - build 4816

1. Refactoring.

drkns 09.10.2016 01:42:02 +0200 - 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.

drkns 08.10.2016 15:14:07 +0200 - build 4814

1. Line selection would reset on replacement if persistent blocks mode was on.

zg 08.10.2016 13:51:32 +0200 - build 4813

1. 0003324: Find/Replace in editor does not highlight found entries.

drkns 08.10.2016 10:38:23 +0200 - build 4812

1. Workaround for another VS bug.

drkns 08.10.2016 02:27:23 +0200 - build 4811

1. Continuation of 4810.2.

drkns 08.10.2016 01:10:06 +0200 - build 4810

1. More on console flags: instead of creating from scratch we inherit the existing ones and change the necessary.

2. Refactoring.

drkns 06.10.2016 22:59:17 +0200 - 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.

zg 06.10.2016 19:59:25 +0200 - build 4808

1. correction of 4803 for nested dialogs.

2. correction of 4807.

zg 05.10.2016 20:37:13 +0200 - build 4807

1. correction of 4803 for the grabber.

drkns 04.10.2016 09:47:59 +0200 - build 4806

1. Correction of 4794 & 4805.

drkns 03.10.2016 21:28:23 +0200 - build 4805

1. 0003318: "Message not found" errors when opening F9 > Options > Colors

drkns 02.10.2016 18:45:31 +0200 - build 4804

1. Refactoring.

zg 01.10.2016 18:23:05 +0200 - build 4803

1. 0003051: ECTL_REDRAW call from dialog.

drkns 01.10.2016 14:28:21 +0200 - build 4802

1. IN some cases, temporary files would not be deleted after browsing archives.

drkns 01.10.2016 00:08:29 +0200 - build 4801

1. Correction of 4800.

drkns 30.09.2016 19:31:55 +0200 - build 4800

1. 0003315: unload:plugin.dll not close panel

drkns 30.09.2016 12:04:12 +0200 - build 4799

1. Correction of 4798.

drkns 29.09.2016 17:30:16 +0200 - 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.

drkns 25.09.2016 20:32:14 +0200 - build 4797

1. 0001040: Main Usermenu & Console Command: "CLS & ECHO. & ipconfig /all & ECHO. & ECHO. & PAUSE" doesn't work.

drkns 25.09.2016 20:06:40 +0200 - 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 22.09.2016 02:17:12 +0200 - build 4795

1. An old bug related to at least 1.65 - possible stack overflow in main menu.

2. Refactoring.

drkns 18.09.2016 02:48:50 +0200 - build 4794

1. Workaround for VS bug. See connect #3103404 for details.

drkns 17.09.2016 22:13:26 +0200 - build 4793

1. constexpr.

2. longPathAware = true for Windows 10.

3. Refactoring.

drkns 15.09.2016 02:23:25 +0200 - build 4792

1. Correction of 4784.1.

2. Code analysis warnings.

drkns 13.09.2016 18:28:08 +0200 - 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.

svs 13.09.2016 15:13:03 +0300 - build 4790

1. SQLite 3.14.2

drkns 12.09.2016 23:35:38 +0200 - build 4789

1. Correction of 4788.3.

2. Minor issues.

drkns 12.09.2016 19:23:16 +0200 - 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.

drkns 11.09.2016 18:53:56 +0200 - build 4787

1. 0003299: starting from 3.0.4784 x86 a new association would not be saved after editing

drkns 11.09.2016 04:28:53 +0200 - build 4786

1. 0003294: Empty combo box line

2. Correction of DIF_EDITOR processing in dialogs.

3. Minor issues.

drkns 09.09.2016 23:40:13 +0200 - build 4785

1. After 4778, WindowMode was broken.

drkns 08.09.2016 23:08:42 +0200 - build 4784

1. Refactoring.

2. TinyXML-2 4.0.1.

shmuel 06.09.2016 09:16:24 +0200 - 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.

drkns 05.09.2016 20:21:32 +0200 - build 4782

1. Forum: copying didn't work after Ctrl+L Tab Ctrl+L.

zg 05.09.2016 19:25:21 +0200 - 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.

zg 05.09.2016 12:27:54 +0200 - build 4780

1. continuation of 4777.

drkns 05.09.2016 00:52:20 +0200 - build 4779

1. It happens that there are plugins which assume that Message can be passed nullptr instead of "".

2. GCC warnings.

drkns 04.09.2016 23:49:35 +0200 - 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.

zg 04.09.2016 21:21:02 +0200 - build 4777

1. refactoring of the window manager.

zg 04.09.2016 15:37:13 +0200 - build 4776

1. do not redraw lists and open combo boxes if dialog redrawing is disabled.

drkns 03.09.2016 18:19:14 +0200 - build 4775

1. Crash after certain manipulations with plugin panels.

2. A leak.

zg 01.09.2016 17:39:45 +0200 - build 4774

1. 0003288: ShowTotalSize for Plugin.

drkns 01.09.2016 01:21:07 +0200 - build 4773

1. Continuation of 4772.

drkns 31.08.2016 03:08:55 +0200 - build 4772

1. Rethinking the concept of exception handling again.

zg 29.08.2016 19:46:17 +0200 - build 4771

1. FSF.FarNameToInputRecord would fill KeyEvent.uChar.UnicodeChar incorrectly for keys like "AltShift8".

drkns 25.08.2016 14:55:58 +0200 - 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).

shmuel 25.08.2016 14:24:34 +0200 - build 4769

1. Another correction of 4767.

shmuel 25.08.2016 13:53:19 +0200 - build 4768

1. Correction of 4767.

shmuel 25.08.2016 13:27:23 +0200 - build 4767

1. MacroAPI: Editor.Set(0) call would set the tabulation length to zero which caused a crash.

drkns 25.08.2016 00:57:25 +0200

1. Continue headers validation.

drkns 24.08.2016 18:08:24 +0200 - build 4766

1. Correction of exception processing.

2. After 4709, changing of the console size with "mode x, y" did not work.

drkns 23.08.2016 11:20:47 +0200 - build 4765

1. Viewer search in UTF8 files was broken.

2. Viewer regex search was broken.

drkns 22.08.2016 22:01:40 +0200

1. GCC 6.

drkns 22.08.2016 11:43:23 +0200

1. Regular headings in all cpp/hpp files.

2. A script is added for validation of #1.

drkns 20.08.2016 14:01:57 +0200 - build 4764

1. Correction of 4757.1.

drkns 19.08.2016 09:45:27 +0200 - build 4763

1. Correction of 4762.

drkns 18.08.2016 22:11:54 +0200 - build 4762

1. Continuation of 0003274.

drkns 18.08.2016 21:15:20 +0200 - build 4761

1. Correction of 4760.1.

drkns 18.08.2016 02:34:26 +0200 - 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.

svs 17.08.2016 20:23:57 +0300 - build 4759

1. SQLite 3.14.1

drkns 15.08.2016 09:23:14 +0200 - build 4758

1. More paranoid options for GCC.

drkns 14.08.2016 15:28:56 +0200 - build 4757

1. Refactoring for everything encoding related.

2. -flto for GCC. Suddenly Far.exe lost ~750 K of size.

drkns 13.08.2016 17:07:34 +0200 - build 4756

1. Another correction of 4747.

svs 09.08.2016 10:31:09 +0300 - build 4755

1. SQLite 3.14.0

drkns 08.08.2016 23:38:23 +0200 - build 4754

1. Refactoring.

drkns 07.08.2016 21:59:50 +0200 - build 4753

1. Adapters were broken after 4747.

drkns 07.08.2016 15:01:50 +0200 - build 4752

1. A couple of optimizations for clipboard processing.

drkns 06.08.2016 14:56:47 +0200 - build 4751

1. Correction of processing of incorrect hex strings in dialogs.

2. Exception diagnostics was broken in one of previous builds.

drkns 04.08.2016 22:16:44 +0200 - build 4750

1. Correction of 4748.

drkns 03.08.2016 23:30:06 +0200 - 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.

drkns 02.08.2016 22:18:59 +0200 - build 4748

1. Refactoring.

drkns 30.07.2016 21:27:07 +0200 - build 4747

1. Refactoring.

zg 30.07.2016 20:43:15 +0200 - build 4746

1. [Wishes 0002857]: Recognize pressing combinations of multiple modifiers.

drkns 29.07.2016 01:34:39 +0200 - 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.

drkns 23.07.2016 12:48:09 +0200 - build 4744

1. Do not reset text color for inner FCTL_GETUSERSCREEN calls.

drkns 16.07.2016 13:51:54 +0200 - build 4743

1. Sometimes, with a bit of luck, call for editor after using a panel plugin could cause crash.

drkns 09.07.2016 22:56:35 +0200 - build 4742

1. Ansi plugins with insufficiently good resources could fail to load.

drkns 09.07.2016 01:21:52 +0200 - build 4741

1. Another bug at the same place.

drkns 08.07.2016 22:07:58 +0200 - build 4740

1. Incorrect processing of backspace in local user menu.

drkns 08.07.2016 09:12:06 +0200 - build 4739

1. 0003265: "cd \ " does not work in command line

drkns 06.07.2016 23:04:32 +0200 - build 4738

1. Coverity warnings.

drkns 06.07.2016 00:46:21 +0200 - build 4737

1. Refactoring.

drkns 03.07.2016 21:15:27 +0200 - build 4736

1. Temporary files could be deleted prematurely.

drkns 03.07.2016 19:11:29 +0200 - build 4735

1. Crash in viewer search under certain circumstances.

drkns 03.07.2016 18:07:21 +0200 - build 4734

1. Refactoring.

drkns 02.07.2016 15:10:30 +0200 - build 4733

1. 0003261: Crash on ф: in command line

drkns 01.07.2016 01:13:59 +0200 - build 4732

1. Refactoring.

drkns 30.06.2016 10:25:43 +0200 - build 4731

1. Continue experimental changes in launcher.

drkns 29.06.2016 21:51:02 +0200 - build 4730

1. Continue experiments:
   - allow FCTL_<G|S>ETUSERSCREEN nested calls.
   - support for FCTL_SETUSERSCREEN without prior FCTL_GETUSERSCREEN (it worked before).

drkns 29.06.2016 09:41:59 +0200 - build 4729

1. 'Protection' from nested calls in FCTL_<G|S>ETUSERSCREEN.

2. Minor issues.

drkns 27.06.2016 22:43:25 +0200 - build 4728

1. Continue experimental changes in launcher.

drkns 27.06.2016 00:46:22 +0200 - build 4727

1. Continue experimental changes in launcher.
   Ctrl-G and User Menu multiline commands should work better now.

shmuel 26.06.2016 16:37:24 +0200 - build 4726

1. Extend Panel.SetCustomSortMode() function capabilities.

drkns 24.06.2016 23:19:28 +0200 - build 4725

1. Forum: administrative rights indicator stays on screen at program launch for some reason.

drkns 24.06.2016 01:39:45 +0200 - build 4724

1. Continuation of 4723 - exception for ShiftEnter and support for 'run as'.

drkns 24.06.2016 01:15:01 +0200 - build 4723

1. Highly experimental feature: built-in associations are applied to command line.

drkns 23.06.2016 22:46:27 +0200 - build 4722

1. Correction of 4710.

drkns 23.06.2016 21:09:03 +0200 - 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.

drkns 21.06.2016 21:33:36 +0200 - build 4720

1. Continuation of 4712.

2. gcc warning.

drkns 20.06.2016 00:20:17 +0200 - build 4719

1. Variables in ExcludeCmds would not expand when used in autocompletion.

drkns 20.06.2016 00:15:19 +0200 - build 4718

1. #0003257: (far 3.0.4700.x64) Exception in Viewer when searching HEX values

t-rex 19.06.2016 21:15:20 +0200 - 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)

drkns 18.06.2016 18:09:29 +0200 - build 4716

1. Correction of 4715.

drkns 18.06.2016 13:55:55 +0200 - build 4715

1. Forum: incorrect drawing of clock according to regional settings.

drkns 18.06.2016 12:52:50 +0200 - build 4714

1. Forum: hard link icons on passive panel disappear after copying or moving.

drkns 18.06.2016 11:51:33 +0200 - build 4713

1. Workaround for a bug of leaving the fullscreen mode in Windows 10.

drkns 17.06.2016 22:38:32 +0200 - 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).

drkns 17.06.2016 17:44:53 +0200 - build 4711

1. A couple of bugs for WindowMode.

drkns 17.06.2016 15:12:33 +0200 - build 4710

1. Restore compatibility with Win2k.

w17 16.06.2016 19:27:33 +0300 - 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

zg 15.06.2016 22:27:05 +0200 - build 4708

1. forum: ShiftEnd and ShiftHome slow work in panels.

drkns 14.06.2016 18:31:09 +0200 - build 4707

1. System associations having bat or cmd as "associated program" would start in separate window.

drkns 13.06.2016 19:32:18 +0200 - build 4706

1. Forum: an issue with panels in Fullscreen view

zg 12.06.2016 21:04:46 +0200 - build 4705

1. visual issues with mouse scrolling in editor after 4685.

drkns 12.06.2016 16:32:43 +0200 - 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).

drkns 12.06.2016 14:55:52 +0200 - build 4703

1. 0003254: Far 3.0 build 4700-4702 crashes on long file lists (!&)

drkns 11.06.2016 22:55:07 +0200 - build 4702

1. Another correction of launcher.

drkns 11.06.2016 20:05:25 +0200 - build 4701

1. Refactoring.

drkns 10.06.2016 23:49:57 +0200 - build 4700

1. Refactoring.

drkns 09.06.2016 01:50:33 +0200 - build 4699

1. Once more #0003223: Add System.Executor.ComspecCondition parameter defining when a command should be run via comspec.

w17 08.06.2016 21:15:44 +0300 - build 4698

1. Correction of 4697 - do not try to switch Win10 full-screen mode off, do nothing on Alt-F9 for it.

w17 08.06.2016 17:25:01 +0300 - build 4697

1. Try to handle Win10 full-screen mode correctly.

zg 08.06.2016 15:46:48 +0200 - build 4696

1. correction of 4676.

zg 02.06.2016 01:51:47 +0200 - 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.

drkns 01.06.2016 22:51:16 +0200 - 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.

drkns 25.05.2016 20:16:03 +0200 - build 4693

1. For [x] Cursor at the end, replacement to a string containing \t worked incorrectly in editor.

zg 24.05.2016 13:58:55 +0200 - build 4692

1. correction of 4685.

zg 24.05.2016 00:30:32 +0200 - build 4691

1. correction of 4685.

drkns 23.05.2016 18:05:10 +0200 - build 4690

1. Correction of launcher function.

svs 23.05.2016 15:51:37 +0300 - build 4689

1. SQLite 3.13.0

drkns 22.05.2016 21:51:25 +0200 - build 4688

1. 0003245: Crash after Shift-F2 in User Menu

2. Refactoring.

drkns 21.05.2016 20:30:22 +0200 - build 4687

1. On #0003244 - show clock according to OS regional settings.

zg 21.05.2016 11:27:47 +0200 - build 4686

1. forum: severe slowdown for UNDO/REDO in editor.

2. slowdown for built-in replace after 4673.

zg 21.05.2016 04:45:34 +0200 - 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.

drkns 20.05.2016 21:57:30 +0200 - build 4684

1. 0003099: FMENU_CHANGECONSOLETITLE flag may not work in Menu function

drkns 20.05.2016 21:16:12 +0200 - build 4683

1. #0003243 user menu items in which .cmd is invoked now start in separate window.

drkns 19.05.2016 19:03:12 +0200 - build 4682

1. Correction of 4679.

zg 19.05.2016 18:08:09 +0200 - build 4681

1. artifacts on altf9 in a combo box.

drkns 19.05.2016 01:35:59 +0200 - build 4680

1. Correction of 4679.

drkns 19.05.2016 00:40:27 +0200 - 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.

zg 18.05.2016 19:37:11 +0200 - build 4678

1. under certain conditions the cursor position in current line was incorrect after ECTL_DELETESTRING.

drkns 17.05.2016 20:41:13 +0200 - build 4677

1. Refactoring - add some const.

zg 17.05.2016 13:03:38 +0200 - build 4676

1. correction 4673 for ECTL_SETPOSITION.

drkns 16.05.2016 22:55:36 +0200 - build 4675

1. Another correction for launcher.

drkns 15.05.2016 22:00:35 +0200 - build 4674

1. Correction of 4668.

zg 15.05.2016 17:37:36 +0200 - build 4673

1. remove window drawing lock.

zg 15.05.2016 00:33:49 +0200 - build 4672

1. forum: symbols "бюжэхъё" are not entered in "fast find" window.

drkns 13.05.2016 00:33:18 +0200 - build 4671

1. Correction of processing exceptions for gcc.

2. Additional information in exceptions thrown manually (function, file, line).

3. Refactoring.

drkns 11.05.2016 23:59:21 +0200 - build 4670

1. Correction of processing DM_GETDIALOGINFO.

2. Warnings.

3. Remove unused #include.

drkns 10.05.2016 22:45:32 +0200 - 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.

drkns 10.05.2016 18:04:22 +0200 - build 4668

1. Forum: Enter on an office document in panels makes Far wait for the document close.

drkns 09.05.2016 15:17:11 +0200 - build 4667

1. clang warnings.

2. A couple of minor issues.

zg 09.05.2016 14:00:08 +0200 - build 4666

1. correction of 4638.1: Dlg.* in opened combo box.

zg 08.05.2016 13:27:59 +0200 - 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.

drkns 08.05.2016 01:12:06 +0200 - build 4664

1. Correction of 4663.2.

2. Raise the level of warnings for third party libraries.

drkns 07.05.2016 17:45:49 +0200 - build 4663

1. Correction of total deletion indicator calculation.

2. Refactoring.

drkns 04.05.2016 23:22:57 +0200 - build 4662

1. After 4435 the expansion of variables did not work in directory creation dialog.

2. Refactoring.

drkns 04.05.2016 10:20:21 +0200 - build 4661

1. Correction of 4656.2.

2. A pair of minor issues.

drkns 03.05.2016 16:58:07 +0200 - build 4660

1. Correction of 4656.2.

drkns 03.05.2016 13:51:34 +0200 - build 4659

1. 0003229: Removing mounted VHDX files from the drive menu makes file locked

drkns 03.05.2016 11:28:32 +0200 - build 4658

1. 0003228: Shell command CD does not find a path in case of the line ending with a space character

drkns 02.05.2016 19:51:44 +0200 - build 4657

1. Forum: Execute in FAR command line: notepad %FARHOME%\changelog and get "The system cannot find the path specified." error

2. Refactoring.

drkns 02.05.2016 12:23:29 +0200 - 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.

drkns 30.04.2016 20:54:00 +0200 - build 4655

1. 0003225: Freeze on "close" button press from modal editor

drkns 30.04.2016 15:16:06 +0200 - build 4654

1. Continue fixing the launcher.

drkns 29.04.2016 19:13:57 +0200 - build 4653

1. Forum: nightly build does not find itself when starting FAR from FAR command line.

drkns 29.04.2016 17:31:01 +0200 - build 4652

1. Continuation of 4646 - remove unnecessary window locks.

drkns 29.04.2016 16:10:52 +0200 - build 4651

1. Continuation of 4648.

drkns 29.04.2016 13:55:48 +0200 - build 4650

1. And once more.

drkns 29.04.2016 10:36:00 +0200 - build 4649

1. Correction of 4644.

drkns 29.04.2016 09:32:30 +0200 - build 4648

1. Continuation of 4631 - restore System.ShowCheckingFile functioning.

drkns 28.04.2016 19:43:18 +0200 - build 4647

1. Continuation of 4631.

drkns 28.04.2016 19:06:43 +0200 - build 4646

1. Continuation of 4631 - remove unnecessary window locks.

drkns 28.04.2016 16:52:55 +0200 - build 4645

1. Correction of 4644.

drkns 28.04.2016 16:47:33 +0200 - 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*().

zg 28.04.2016 13:20:04 +0200 - build 4643

1. hotkey did not work in combo box for current item.

drkns 28.04.2016 10:40:27 +0200 - build 4642

1. Correction of 4631.

drkns 26.04.2016 22:50:38 +0200 - build 4641

1. Correction of 4635: show "remaining:" when copying a single file and refresh it with the same frequency as for speed.

zg 26.04.2016 16:23:31 +0200 - 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.

zg 26.04.2016 03:41:23 +0200 - build 4639

1. remove unused code.

zg 25.04.2016 23:43:02 +0200 - build 4638

1. grabber did not work if a combo box was open.

2. DM_SETCOMBOBOXEVENT returned garbage.

drkns 24.04.2016 11:15:15 +0200 - build 4637

1. Correction of 4633.

drkns 24.04.2016 10:02:26 +0200 - build 4636

1. Correction of 4635.

drkns 23.04.2016 19:19:54 +0200 - build 4635

1. Copying progress indicator is displayed as "%done% / %total%".

2. Refactoring.

drkns 23.04.2016 02:03:50 +0200 - build 4634

1. Forum: lua:far.Message"aaa". The console caption is not restored after closing the console.

drkns 23.04.2016 01:59:07 +0200 - build 4633

1. Refactoring.

shmuel 23.04.2016 00:03:37 +0200 - build 4632

1. Experimental: speeding up ECTL_INSERTSTRING (about 50 times faster).

drkns 20.04.2016 22:42:13 +0200 - build 4631

1. Invocation of dialogs via main menu did not set correct console caption.

drkns 20.04.2016 17:33:13 +0200 - build 4630

1. Refactoring.

zg 20.04.2016 13:21:24 +0200 - build 4629

1. correction of 4628.

zg 20.04.2016 02:44:24 +0200 - build 4628

1. remove deferred sorting of color areas in editor.

w17 20.04.2016 01:39:19 +0300 - build 4627

1. Fix 4492.

drkns 19.04.2016 22:42:16 +0200 - build 4626

1. gcc build fix.

2. Refactoring.

svs 19.04.2016 18:18:01 +0300 - build 4625

1. SQLite 3.12.2

w17 19.04.2016 13:18:14 +0300 - build 4624

1. Correction of 4622.

drkns 16.04.2016 01:21:23 +0200 - build 4623

1. Refactoring and renamings.

w17 14.04.2016 16:24:08 +0300 - 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

zg 14.04.2016 00:25:20 +0200 - build 4621

1. 0003213: Editor redraw time is proportional to the file size for some reason.

zg 13.04.2016 23:39:18 +0200 - build 4620

1. 0003212: Freeze on ShowHelp/DialogRun call after VCTL_QUIT/ECTL_QUIT.

svs 11.04.2016 10:16:53 +0300 - build 4619

1. SQLite 3.12.1

drkns 08.04.2016 16:05:19 +0200 - build 4618

1. Forum: "Memory corruption somewhere leading to rare crashes."

drkns 06.04.2016 23:43:12 +0200 - build 4617

1. And once more.

drkns 06.04.2016 22:42:14 +0200 - build 4616

1. Fix of fix of 4564.

drkns 06.04.2016 19:41:18 +0200 - build 4615

1. Forum: ANSI plugins lost the file panel cursor (4602).

drkns 06.04.2016 19:17:59 +0200 - build 4614

1. Correction of 4425.

w17 06.04.2016 18:13:35 +0300 - build 4613

1. Fix 4564.

w17 06.04.2016 13:29:38 +0300 - 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 '\'

drkns 05.04.2016 21:49:33 +0200 - build 4611

1. Under certain circumstances, search in plugin panel would crash the app.

2. A pair of minor issues.

drkns 03.04.2016 14:37:41 +0200 - build 4610

1. Once more 4609.1.

2. A pair of minor issues.

drkns 03.04.2016 00:05:57 +0200 - build 4609

1. Forum: "For some time now file descriptions have been case dependent".

drkns 31.03.2016 10:00:26 +0200 - build 4608

1. Correction of 4603. Do not show "?" if the owner is undefined.

2. Other minor refactoring.

drkns 29.03.2016 19:15:04 +0200 - build 4607

1. Correction of 4603. Pass the mentioned items to plugins only if they already have been read.

drkns 27.03.2016 20:33:46 +0200 - build 4606

1. Refactoring.

drkns 26.03.2016 23:33:54 +0200 - build 4605

1. Correction of 4603.

drkns 26.03.2016 21:56:52 +0200 - build 4604

1. Suppress querying of the rights on highlighting.

drkns 26.03.2016 21:16:07 +0200 - 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.

drkns 26.03.2016 01:03:37 +0200 - 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.

drkns 25.03.2016 10:08:48 +0200 - build 4601

1. Correction of 4599.

drkns 25.03.2016 01:21:22 +0200 - build 4600

1. Correction of 4574.

drkns 24.03.2016 23:40:39 +0200 - build 4599

1. 0003201: Message returns value less by 1 than expected

drkns 24.03.2016 23:04:54 +0200 - build 4598

1. Ask for name & password for cd \\server\share

w17 24.03.2016 20:32:59 +0300 - build 4597

1. Correction of 4596. Revert switching for inactive Info panel.

w17 24.03.2016 17:14:32 +0300 - build 4596

1. Correction of 4595. Switching only if info panel is active.

w17 24.03.2016 16:14:28 +0300 - build 4595

1. Continuation of 4590, 4594 switching with Ctrl-Shift-S.

w17 24.03.2016 14:55:56 +0300 - build 4594

1. Continuation of 4590.
   Configuration if size display mode: Panel.Info.ShowBytes (default=false); switch with Ctrl-S. 

drkns 24.03.2016 02:05:31 +0200 - build 4593

1. Crash on +/- key press in info panel if the viewer has been opened there.

drkns 23.03.2016 20:31:08 +0200 - build 4592

1. Forum: Illogical behavior on network volume removal

w17 23.03.2016 17:59:00 +0300 - build 4591

1. M#3089: Minor fix of info panel (Ctrl+L)

w17 22.03.2016 13:55:04 +0300 - build 4590

1. Continuation of 4587 -- EOPT_SHOWSCROLLBAR; VCTL_GETINFO: VOPT_SHOWxxx, VOPT_QUICKVIEW.

drkns 22.03.2016 08:27:45 +0200 - build 4589

1. Correction of 4585.

drkns 21.03.2016 17:11:49 +0200 - build 4588

1. Macro ARRAYSIZE -> constexpr std::size

shmuel 21.03.2016 16:05:35 +0200 - build 4587

1. ECTL_GETINFO: EOPT_SHOWTITLEBAR and EOPT_SHOWKEYBAR flags are added into EDITOR_OPTIONS enumeration.

drkns 21.03.2016 15:31:02 +0200 - build 4586

1. Continuation of 4584.

drkns 20.03.2016 11:57:40 +0200 - build 4585

1. Continuation of 4584.

drkns 20.03.2016 00:41:42 +0200 - build 4584

1. Remove hacks used widely for VS2010 support.

drkns 19.03.2016 23:19:41 +0200

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 18.03.2016 18:03:45 +0200

1. Build requires VC++ 2015 / GCC 5.

drkns 18.03.2016 12:00:11 +0200 - build 4583

1. Continuation of 4582 - sort without expansion of FileListItem structure which is already big.
   Also, it may be a little faster.

shmuel 17.03.2016 18:18:54 +0200 - 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.

drkns 14.03.2016 23:51:08 +0200 - build 4581

1. Revert ACTL_REDRAWALL behavior before 4545.

shmuel 14.03.2016 11:39:07 +0200 - build 4580

1. On "Sort by" menu display (CtrlF12) the cursor is set to the current sorting mode.

svs 14.03.2016 10:33:31 +0300 - build 4579

1. SQLite 3.11.1

shmuel 13.03.2016 21:45:25 +0200 - build 4578

1. Correction of 4577.

shmuel 13.03.2016 01:35:20 +0200 - 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.

drkns 12.03.2016 16:37:16 +0200 - 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

shmuel 11.03.2016 18:57:02 +0200 - build 4575

1. FCTL_GETPANELINFO set SortMode value for custom sorting by 1 more than actual.

drkns 10.03.2016 00:22:16 +0200 - 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.

drkns 08.03.2016 13:23:22 +0200 - 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

drkns 05.03.2016 03:19:56 +0200 - build 4572

1. Correction of 4568.

2. Refactoring.

drkns 04.03.2016 22:49:36 +0200 - build 4571

1. VC2015 build fix.

drkns 04.03.2016 22:12:43 +0200 - build 4570

1. Handling of descriptions is redone a bit - now the files undergo less changes on update.

2. Other refactoring.

drkns 03.03.2016 21:29:48 +0200 - build 4569

1. Correction of 4568.

drkns 03.03.2016 02:14:30 +0200 - build 4568

1. Refactoring.

zg 01.03.2016 00:16:46 +0200 - build 4567

1. under some conditions it is impossible to abort directory size scanning in qview.

drkns 29.02.2016 22:23:24 +0200 - build 4566

1. Correction of 4565.

drkns 28.02.2016 20:01:24 +0200 - build 4565

1. When detaching the console (Ctrl+Shift+Tab) copy the aliases from the old one to the new one.

drkns 27.02.2016 18:05:26 +0200 - build 4564

1. Refactoring.

2. Some renamings.

w17 26.02.2016 19:47:29 +0300 - 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.

drkns 25.02.2016 18:04:48 +0200 - build 4562

1. 0003187: Symlink to a network folder does not work after editing the target folder in attributes dialog

svs 24.02.2016 09:40:36 +0300 - build 4561

1. SQLite 3.11.0

drkns 23.02.2016 19:46:47 +0200 - build 4560

1. 0003185: Panel in unsorted mode is showing the first file/folder as the last

drkns 20.02.2016 22:01:11 +0200 - build 4559

1. gcc build fix.

drkns 20.02.2016 21:53:30 +0200 - build 4558

1. Continuation of 4548: uniform processing of all exceptions.

drkns 20.02.2016 15:56:08 +0200 - 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().

w17 20.02.2016 15:03:22 +0300 - build 4556

1. Correction of 4523. Consider "D:\Path Name"\ in UnquoteExternal()

drkns 20.02.2016 04:16:03 +0200 - build 4555

1. Continuation of 4548: load pdb only if it's needed.

drkns 19.02.2016 21:58:30 +0200 - build 4554

1. Correction of 4552.

2. VC2015 warning.

w17 19.02.2016 22:31:34 +0300 - build 4553

1. Correction of 4552, fix VS2010 build.

drkns 19.02.2016 00:08:34 +0200 - 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.

drkns 17.02.2016 19:43:48 +0200 - build 4551

1. After 4525, command text was displayed with wrong color in user screen.

drkns 14.02.2016 20:45:46 +0200 - 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.

drkns 14.02.2016 13:00:58 +0200 - build 4549

1. Restore XML import error message.

2. Latest TinyXML-2.

3. SQLite 3.10.2.

drkns 13.02.2016 16:59:45 +0200 - build 4548

1. Messages on exceptions are added a "Stack" button.
   Far.pdb is needed to get it work correctly.

2. Refactoring.

drkns 12.02.2016 23:30:30 +0200 - build 4547

1. Refine Ctrl+F10 blocking logic in editor/viewer: now it is blocked only for modal windows.

drkns 10.02.2016 23:21:06 +0200 - build 4546

1. Refactoring. Shorten code in the manager a bit.

drkns 09.02.2016 22:33:44 +0200 - build 4545

1. Refactoring.

drkns 08.02.2016 01:30:51 +0200 - build 4544

1. After 4320, selection sometimes worked incorrectly after Ctrl-A.

drkns 07.02.2016 18:30:10 +0200 - 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.

drkns 06.02.2016 04:01:40 +0200 - build 4542

1. 0003169: panels disappear after start of external editor

drkns 05.02.2016 21:26:41 +0200 - build 4541

1. Correction of 4525.

drkns 05.02.2016 09:41:13 +0200 - build 4540

1. Forum: Cursor disappears in launched external console applications.

drkns 03.02.2016 19:25:05 +0200 - build 4539

1. Move the hack for M#2922 to a more suitable place and simplify it.

w17 03.02.2016 17:48:03 +0300 - build 4538

1. Correction of 4537.

w17 03.02.2016 16:10:50 +0300 - build 4537

1. M#2922: symbolic link to an executable file creates a separate console after launch

drkns 03.02.2016 09:11:50 +0200 - build 4536

1. Restore behavior of selection in dialogs as it was up to 4484.

drkns 02.02.2016 22:19:45 +0200 - build 4535

1. Forum: start of far /v or far /e with active auto-saving garbled panel settings.

drkns 02.02.2016 21:34:08 +0200 - build 4534

1. Correction of 4525 for non-trivial launch conditions.

drkns 02.02.2016 21:17:56 +0200 - build 4533

1. Adaptation of grabber to 4526.

drkns 02.02.2016 19:55:16 +0200 - build 4532

1. Forum: Editor.SetStr was broken in one of builds 4482-4484

drkns 02.02.2016 09:55:00 +0200 - build 4531

1. Command line was not updated after deleting an item from completion list.

drkns 01.02.2016 23:00:10 +0200 - 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.

w17 01.02.2016 16:53:33 +0300 - build 4529

1. M#3161: Extend GoTo (AltF8)

drkns 01.02.2016 10:34:36 +0200 - build 4528

1. Continuation of 4525.

drkns 01.02.2016 03:16:02 +0200 - build 4527

1. Continuation of 4525.

drkns 01.02.2016 01:11:06 +0200 - build 4526

1. Report goes that after 4516 middle mouse button worked odd in panels.

drkns 31.01.2016 22:59:13 +0200 - 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.

w17 29.01.2016 21:57:57 +0300 - build 4524

1. Fix 4484. aka M#3162: Text disappear in viewer

w17 29.01.2016 16:55:57 +0300 - build 4523

1. Continuation of 4521.
   Now "D:\Path Name"\ is the global feature - that's the way QuoteSpace() works.

w17 27.01.2016 23:06:51 +0300 - 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 "

w17 26.01.2016 14:09:42 +0300 - build 4521

1. M#3011: Ctrl+Enter works wrong for ".." for case if path have spaces
   "D:\Path Name\" --> "D:\Path Name"\ 

drkns 26.01.2016 09:43:57 +0200 - build 4520

1. Correction of 4516.

2. Forum: excessive redraw of associations menu.

drkns 26.01.2016 02:19:36 +0200 - build 4519

1. Correction of 4516.

drkns 26.01.2016 00:15:06 +0200 - build 4518

1. Forum: Repeated file view with F3 renders differently

drkns 24.01.2016 20:10:32 +0200 - build 4517

1. A couple of corrections to 4516.

drkns 24.01.2016 14:35:53 +0200 - 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.

drkns 22.01.2016 09:52:55 +0200 - build 4515

1. Forum: mf.clip(5) and mf.clip(5,0) no longer switch the clipboard

svs 18.01.2016 17:22:16 +0300 - build 4514

1. SQLite 3.10.1

drkns 17.01.2016 23:48:17 +0200 - 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.

drkns 16.01.2016 11:46:23 +0200 - 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.

drkns 15.01.2016 23:27:57 +0200 - build 4511

1. 0003153: Start next grabber session in the same mode as previous one (block/stream)

drkns 15.01.2016 10:04:34 +0200 - build 4510

1. Non-system copy function worked incorrectly on sparse files with block size more than 4 GB.

drkns 14.01.2016 22:05:38 +0200 - build 4509

1. 0003151: Go to new line when shifting grabber block in stream mode

svs 12.01.2016 22:10:42 +0300 - build 4508

1. SQLite 3.10.0

drkns 11.01.2016 19:50:50 +0200 - build 4507

1. Continuation of 4506.1.

drkns 10.01.2016 17:18:42 +0200 - 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.

drkns 08.01.2016 16:54:54 +0200 - build 4505

1. 003148: Copying a few lines in FAR editor followed by pasting garbles the content

drkns 08.01.2016 14:47:08 +0200 - build 4504

1. A little black magic for VS2015 build to work in Win2k.

drkns 04.01.2016 14:00:46 +0200 - build 4503

1. Continuation of 4502.1.

2. Correction of 4431.

drkns 03.01.2016 21:18:13 +0200 - build 4502

1. Continue refactoring of clipboard.

2. Fix clip(3) and clip(4) malfunction.

drkns 01.01.2016 16:05:03 +0200 - build 4501

1. Apply 4496 to vertical blocks.

2. Always write the size of data.

drkns 01.01.2016 15:07:30 +0200 - build 4500

1. Remove vertical block duplication in clipboard.

2. Refactoring.

zg 31.12.2015 20:03:12 +0200 - build 4499

1. crash in GetPluginDirList. already freed memory was returned.

2. gcc warning.

drkns 30.12.2015 17:05:27 +0200 - build 4498

1. Continuation of 3596. More paranoid handling of adapters.

drkns 30.12.2015 10:59:13 +0200 - build 4497

1. TinyXML-2 v3.0.0.

2. A couple of issues.

w17 29.12.2015 13:10:24 +0300 - 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.

drkns 28.12.2015 17:59:08 +0200 - build 4495

1. %farlocalproflie%\PluginsData was not created automatically, which could lead to consequences.

drkns 28.12.2015 16:32:20 +0200 - build 4494

1. Correction of 4493.

drkns 28.12.2015 15:28:08 +0200 - build 4493

1. Refactoring.

w17 27.12.2015 11:08:48 +0300 - build 4492

1. M#3142: Text insertion from Borland IDE is broken

drkns 25.12.2015 21:54:47 +0200

1. 0003145: New German translation

drkns 22.12.2015 09:38:41 +0200 - 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

drkns 21.12.2015 20:25:07 +0200 - build 4490

1. Refactoring, continuation of 4484.

drkns 21.12.2015 08:13:52 +0200 - build 4489

1. And more.

drkns 20.12.2015 19:10:39 +0200 - build 4488

1. And more.

drkns 20.12.2015 16:47:03 +0200 - build 4487

1. Another correction of 4484.1.

drkns 20.12.2015 16:20:08 +0200 - build 4486

1. Refactoring, continuation of 4484.

drkns 20.12.2015 03:05:03 +0200 - build 4485

1. Correction of 4484.1.

drkns 19.12.2015 21:59:59 +0200 - 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.

zg 19.12.2015 14:36:32 +0200 - build 4483

1. remove duplicate conversion of INPUT_RECORD to FarKey and vice versa.

drkns 19.12.2015 14:07:47 +0200 - build 4482

1. 0003137: A typo in Far.exe -? output
   Actually the output is correct, the error is in another place.

drkns 18.12.2015 19:39:04 +0200 - build 4481

1. Another correction of 4473.

w17 18.12.2015 13:24:46 +0300 - build 4480

1. Experimental: M#1910: "Add to archive" hotkey does not wok in Temporary Panel.

drkns 17.12.2015 21:32:47 +0200 - build 4479

1. Correction of 4473: Selection takes the whole string in absence of a block.

drkns 17.12.2015 20:56:42 +0200 - build 4478

1. User menu composed entirely of separators caused AV.

zg 16.12.2015 22:53:06 +0200 - build 4477

1. assert on alt-65536 input in editor.

drkns 16.12.2015 20:53:34 +0200 - build 4476

1. Another correction of 4473.

drkns 16.12.2015 19:48:28 +0200 - build 4475

1. Continuation of 4473 according to users' wishes.

drkns 16.12.2015 11:48:50 +0200 - build 4474

1. Correction of 4473.

drkns 16.12.2015 00:42:39 +0200 - 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.

drkns 12.12.2015 18:50:14 +0200

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

drkns 12.12.2015 15:41:11 +0200 - build 4472

1. Forum: If volume types are hidden (Ctrl-1) then del does not remove subst volume.

drkns 11.12.2015 22:58:53 +0200 - build 4471

1. 0003131: Disappearing checkboxes for codepages checked in "Using codepage" menu

drkns 11.12.2015 22:02:06 +0200 - 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

drkns 11.12.2015 21:24:01 +0200 - build 4469

1. Crash on regex replace.

drkns 09.12.2015 20:28:43 +0200 - build 4468

1. debug & gcc.

2. syslog & gcc.

drkns 08.12.2015 00:25:17 +0200 - build 4467

1. Refactoring.

2. Some more on 4461.

shmuel 07.12.2015 21:04:04 +0200 - build 4466

1. M#3129: Several lines get merged to one

drkns 07.12.2015 21:03:09 +0200 - build 4465

1. Correction of 4461.

drkns 04.12.2015 00:24:07 +0200 - build 4464

1. Refactoring.

2. Warnings.

3. GCC build fix.

drkns 01.12.2015 20:24:11 +0200 - build 4463

1. Return the workaround for a bug in kernel32::GetFinalPathNameByHandleW lost in 2155.

drkns 30.11.2015 22:18:30 +0200 - build 4462

1. Refactoring.

2. Ukrainian translation from Vlad Lozynskyi.

drkns 27.11.2015 13:40:00 +0200 - build 4461

1. 0003124: Persistent network connections are not restored when started from another account.

drkns 26.11.2015 08:49:29 +0200 - build 4460

1. Correction of 4459.

drkns 23.11.2015 21:40:04 +0200 - build 4459

1. Refactoring.

drkns 21.11.2015 02:26:19 +0200 - build 4458

1. In some cases, selection of words in editor with mouse clicks could create several selection blocks.

shmuel 17.11.2015 14:41:37 +0200 - build 4457

1. Function FSF.FarInputRecordToName given some values of its 1st argument would not
   return until console input entered.

drkns 15.11.2015 11:59:17 +0200 - build 4456

1. Continuation of 4455.

drkns 15.11.2015 01:37:43 +0200 - build 4455

1. It happens that Far already can be built with clang. Some related changes in preprocessor macros.

svs 07.11.2015 00:28:32 +0300 - build 4454

1. SQLite 3.9.2

drkns 01.11.2015 19:04:35 +0200 - build 4453

1. Refactoring, VS15 warnings and other issues.

drkns 01.11.2015 18:59:48 +0200 - build 4452

1. For the future: split FindFiles into two separate classes: UI and search.

drkns 31.10.2015 13:07:10 +0200 - build 4451

1. 0003077: Exception in search in alternate streams

shmuel 28.10.2015 19:12:06 +0200 - build 4450

1. Minor refactoring in macro system.

w17 27.10.2015 19:36:48 +0300 - build 4449

1. Continuation of 4448. Do not crash in STACK_OVERFLOW handler, minidump shows the correct place of stack overflow.

w17 27.10.2015 17:39:42 +0300 - build 4448

1. Experimental: Minidump save button (%FARPROFILE%\Far.mdmp) in processing of SEHException.

drkns 27.10.2015 01:26:44 +0200 - build 4447

1. 0003026: FindFiles access violation exception

drkns 26.10.2015 09:25:44 +0200 - build 4446

1. Status line format string moved to lng.

drkns 24.10.2015 11:59:47 +0200 - 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.

drkns 24.10.2015 02:29:09 +0200 - build 4444

1. 0002520: Incorrect text of system error

2. 0003089: Minor edits in info panel (Ctrl+L) (partially).

drkns 24.10.2015 01:21:54 +0200 - build 4443

1. Some renamings to fix VS2015 warnings.

drkns 24.10.2015 00:04:08 +0200 - build 4442

1. Forum: show the number of folders in current panel.

2. Warnings.

w17 20.10.2015 16:21:53 +0300 - build 4441

1. M#3100: Crash on search in invalid ZIP archive
   Treatment for symptoms.

svs 19.10.2015 10:31:45 +0300 - build 4440

1. SQLite 3.9.1

drkns 18.10.2015 13:18:18 +0200 - build 4439

1. Carriage return was incorrectly processed in editor for codepages where it differed from 0x0d / 0x0a (EBCDIC etc.)

drkns 17.10.2015 14:35:10 +0200 - build 4438

1. Refactoring.

svs 16.10.2015 12:33:02 +0300 - 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!>

svs 15.10.2015 16:40:58 +0300 - 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.

svs 15.10.2015 13:15:19 +0300 - build 4435

1. Mantis#0003070: DI_EDIT+DIF_EDITEXPAND: variables are expanded too early
   "Expansion" takes place only if dialog procedure has returned TRUE.

svs 14.10.2015 17:41:39 +0300 - build 4434

1. SQLite 3.9.0

2. Mantis#0003033: Defect in drawing a frame in DI_TEXT+DIF_SEPARATORUSER

drkns 12.10.2015 18:26:07 +0200 - build 4433

1. another correction of 4431.

w17 12.10.2015 14:00:11 +0300 - build 4432

1. correction of 4431.

drkns 11.10.2015 16:04:27 +0200 - build 4431

1. Refactoring.

drkns 02.10.2015 09:36:40 +0200 - 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 29.09.2015 21:44:11 +0200 - 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.

drkns 29.09.2015 09:06:03 +0200 - build 4428

1. gcc build fix

2. Refactoring.

drkns 26.09.2015 21:44:35 +0200 - 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.

drkns 24.09.2015 22:50:09 +0200 - build 4426

1. Do not lose entered text when scrolling through history in command line.

2. Refactoring.

3. Warnings.

drkns 23.09.2015 02:45:20 +0200 - build 4425

1. Refactoring.

drkns 21.09.2015 19:19:19 +0200 - build 4424

1. Correction of 4423.1.

drkns 18.09.2015 22:40:33 +0200 - build 4423

1. Now we accept //these/paths too.

2. GCC build fix

3. Refactoring.

drkns 17.09.2015 22:04:20 +0200 - build 4422

1. Refactoring.

drkns 17.09.2015 20:59:50 +0200 - build 4421

1. Correction and simplification of environment variables auto-update logic.

svs 17.09.2015 19:11:41 +0300 - build 4420

1. Correction of build 4419 to match the planned logic (see the help)

svs 17.09.2015 19:04:05 +0300 - build 4419

1. Mantis#0003078: Configuration editor *marks some parameters as modified even in a new profile
   Only about "System.CopyBufferSize".

svs 10.09.2015 10:31:11 +0300 - 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


svs 08.09.2015 17:50:24 +0300 - build 4417

1. Mantis#0002905: Assign GUID to "Apply command" dialog (CtrlG)

    ApplyCommandId                   = {044EF83E-8146-41B2-97F0-404C2F4C7B69}  --> Dlg.Id
    "Apply command" dialog (CtrlG)


w17 08.09.2015 16:09:18 +0300 - build 4416

1. Correction of 4414 -typo

w17 08.09.2015 12:29:00 +0300 - build 4415

1. Continuation of 4392, 4394 (M#2951)
   Remove traces of Tree from command menu and keybar.

svs 07.09.2015 16:06:23 +0300 - 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


drkns 04.09.2015 21:47:21 +0200 - build 4413

1. Refactoring.

shmuel 04.09.2015 13:40:29 +0200 - build 4412

1. M#3083: Content column is not updated on panel mode switch

drkns 02.09.2015 21:13:07 +0200 - build 4411

1. 0003080: Alternate editor/viewer in FindFile results

drkns 29.08.2015 00:46:04 +0200 - build 4410

1. Refactoring

2. VC2015 warnings

3. Whole program optimization in VC Release builds

w17 15.08.2015 10:46:45 +0300 - build 4409

1. Correction of 4408

w17 15.08.2015 00:24:24 +0300 - build 4408

1. M#281: Automatic substitution of environment variables does not allow to use paths like C:\%AppData%

drkns 14.08.2015 22:33:52 +0200 - build 4407

1. 0003056: Marking files at the left panel "breaks" the panel separator

zg 31.07.2015 15:36:58 +0200 - 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.

svs 30.07.2015 00:03:25 +0300 - build 4405

1. SQLite 3.8.11.1

drkns 29.07.2015 23:25:17 +0200 - build 4404

1. Do not sort modified description files.

drkns 28.07.2015 23:15:06 +0200 - build 4403

1. Refactoring.

svs 28.07.2015 11:24:22 +0300 - build 4402

1. SQLite 3.8.11

shmuel 11.07.2015 02:20:25 +0200 - build 4401

1. M#3019: Number of custom columns is limited to 10 for plugin
   -> Now it is limited to 100 (C0...C99).

drkns 09.07.2015 00:39:19 +0200 - build 4400

1. Refactoring.

drkns 05.07.2015 19:19:57 +0200 - build 4399

1. Refactoring.

drkns 04.07.2015 21:54:54 +0200 - 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.

drkns 02.07.2015 23:37:09 +0200 - build 4397

1. Forum: Strange behavior of F7/Shift-F7 search in editor

2. Warnings.

zg 28.06.2015 02:50:26 +0200 - build 4396

1. ACTL_SETCURRENTWINDOW, VCTL_QUIT and ECTL_QUIT are executed immediately.

2. ACTL_COMMIT does nothing and is left for compatibility reasons.

w17 26.06.2015 18:43:53 +0300 - build 4395

1. Cosmetic changes.

w17 25.06.2015 13:28:40 +0300 - 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>.

drkns 24.06.2015 22:13:33 +0200 - build 4393

1. Refactoring.

w17 15.06.2015 16:31:15 +0300 - 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.

drkns 09.06.2015 00:59:20 +0200 - build 4391

1. Mouse click action in autocompletion menu was different from Enter key press.

drkns 06.06.2015 23:50:38 +0200 - build 4390

1. More correct solution for 4388.

drkns 05.06.2015 00:28:50 +0200 - build 4389

1. Correction of 4387.3.

drkns 04.06.2015 23:42:07 +0200 - build 4388

1. VC10.

drkns 04.06.2015 21:34:47 +0200 - 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.

zg 03.06.2015 21:49:26 +0200 - build 4386

1. 0003001: BookmarkManager script functionality broken in nightly builds.

drkns 03.06.2015 20:24:43 +0200 - build 4385

1. 0003000: problem with copying screen with /ag key

zg 29.05.2015 23:39:54 +0200 - build 4384

1. 0002997: Improper sorting after Compare Folders.

zg 29.05.2015 19:12:18 +0200 - build 4383

1. FARLANG is assigned an empty value for a clean profile.

svs 21.05.2015 07:33:01 +0300 - build 4382

1. SQLite 3.8.10.2

drkns 18.05.2015 22:39:06 +0200 - build 4381

1. Warnings mix:
   - for vc, suppression of warnings moved to a separate file
   - -Wextra for gcc.

2. Refactoring.

zg 16.05.2015 04:38:48 +0200 - build 4380

1. 0002994: GUID for User Menu dialogs invoked with !?<title>?<init>!.

drkns 15.05.2015 21:52:32 +0200 - build 4379

1. Correction of 4376.

2. Minor issues.

drkns 15.05.2015 00:03:45 +0200 - build 4378

1. Refactoring.

drkns 14.05.2015 08:41:28 +0200 - build 4377

1. Correction of 4364.

drkns 14.05.2015 00:00:00 +0200 - build 4376

1. Refactoring.

zg 10.05.2015 02:14:51 +0200 - build 4375

1. 0002991: Dynamic selection mark in panels.

svs 09.05.2015 23:17:24 +0300 - build 4374

1. SQLite 3.8.10.1

drkns 08.05.2015 18:51:45 +0200 - build 4373

1. Error in file size calculation at copying with ADS taken into account.

drkns 08.05.2015 01:29:05 +0200 - build 4372

1. 0002990: Viewer crashed if opened from temporary editor

svs 07.05.2015 20:33:44 +0300 - build 4371

1. SQLite 3.8.10

drkns 07.05.2015 16:23:58 +0200 - build 4370

1. Displaying the number of processed bytes in copying progress dialog.

drkns 06.05.2015 22:16:11 +0200 - build 4369

1. And once more.

drkns 06.05.2015 20:26:51 +0200 - build 4368

1. And once more.

drkns 06.05.2015 17:29:36 +0200 - build 4367

1. A couple of corrections in 4366.

drkns 06.05.2015 16:39:28 +0200 - build 4366

1. Forum: Autocompletion of environment variables in command line

2. far:config: Editor.WordDiv option is renamed to System.WordDiv.

3. Refactoring.

drkns 04.05.2015 14:51:59 +0200 - build 4365

1. Correction of 4364.

drkns 04.05.2015 14:42:35 +0200 - 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.

drkns 01.05.2015 21:11:56 +0200 - build 4363

1. Refactoring.

zg 30.04.2015 01:15:07 +0200 - build 4362

1. refactoring: processing of keypresses.

drkns 26.04.2015 13:40:02 +0200 - build 4361

1. Continuation of 4356.

drkns 26.04.2015 03:26:55 +0200 - build 4360

1. Correction of 4356.

drkns 26.04.2015 01:04:53 +0200 - build 4359

1. Continuation of 4356.

zg 26.04.2015 00:40:10 +0200 - build 4358

1. correction of 4353.2: Releasing of a modifier may be interpreted as BreakKey for menu.

drkns 25.04.2015 23:44:26 +0200 - build 4357

1. Correction of 4356.

drkns 25.04.2015 22:27:47 +0200 - build 4356

1. Refactoring.

zg 23.04.2015 12:54:15 +0200 - build 4355

1. correction of 4352 for FarInputRecordToName.

zg 23.04.2015 02:01:09 +0200 - build 4354

1. correction of 4345: xlat malfunction in editor.

zg 22.04.2015 21:26:13 +0200 - build 4353

1. DM_SETMOUSEEVENTNOTIFY is renamed to DM_SETINPUTNOTIFY.

2. DN_INPUT now receives all console events.

zg 22.04.2015 14:23:46 +0200 - build 4352

1. correction of 4337: FAR responds to modifiers release. 

drkns 15.04.2015 22:47:32 +0200 - build 4351

1. 0002872: Do not break the codepage of FarMenu.ini

2. Related to #1 refactoring.

w17 14.04.2015 15:03:44 +0300 - build 4350

1. Rollback of 4324+, unnecessary feature.

drkns 13.04.2015 14:09:29 +0200 - build 4349

1. History could contain duplicate items (bug in sqlite_unicode.c)

zg 13.04.2015 13:27:28 +0200 - build 4348

1. correction of 4337: ralt does not switch the menu filter on.

drkns 13.04.2015 10:40:22 +0200 - build 4347

1. Correction of 4309.

drkns 13.04.2015 09:52:11 +0200 - build 4346

1. Correction of 4345.

drkns 12.04.2015 22:26:53 +0200 - build 4345

1. Refactoring.

drkns 12.04.2015 21:02:09 +0200 - 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.

zg 12.04.2015 19:46:28 +0200 - build 4343

1. correction of 4332: changing codepage in editor.

drkns 12.04.2015 15:18:07 +0200 - build 4342

1. Forum: far /import crash

2. Refactoring.

drkns 11.04.2015 23:04:41 +0200 - build 4341

1. Refactoring.

2. Warnings.

zg 10.04.2015 13:29:09 +0200 - build 4340

1. correction of 4337: selection reset while editing.

2. numlock, capslock, scrolllock removed the 'Unchanged' flag in edit fields.

3. gcc warnings.

zg 10.04.2015 01:25:50 +0200 - build 4339

1. incorrect initialization of a dialog item for nonzero FarDialogItem.MaxLength.

svs 09.04.2015 06:54:08 +0300 - build 4338

1. SQLite 3.8.9

zg 09.04.2015 03:05:55 +0200 - build 4337

1. processing of CtrlAltShift is isolated.

drkns 05.04.2015 19:07:30 +0200 - build 4336

1. Refactoring. Some renaming and moving of some functions.

drkns 03.04.2015 20:55:27 +0200 - build 4335

1. 0002980: Malfunction of "Code pages" menu.

zg 03.04.2015 14:10:08 +0200 - build 4334

1. correction of 4330.

zg 03.04.2015 13:55:43 +0200 - build 4333

1. correction of 4332.

zg 03.04.2015 02:57:53 +0200 - build 4332

1. 0002979: Lossless editing of any files in UTF-8 mode.

drkns 02.04.2015 23:15:07 +0200 - build 4331

1. Refactoring.

2. Plugins menu would not be invoked from command line completion menu.

zg 02.04.2015 16:15:43 +0200 - build 4330

1. forum: Get the contents of command line with a plugin from user menu.

w17 01.04.2015 20:26:38 +0300 - build 4329

1. 'Find file' word search worked incorrectly if a word was at the end of a block.

shmuel 29.03.2015 20:49:04 +0200 - build 4328

1. Correction of 4261.

drkns 28.03.2015 16:51:12 +0200 - build 4327

1. Refactoring.

w17 26.03.2015 13:57:16 +0300 - build 4326

1. Correction of 4324

w17 26.03.2015 13:51:15 +0300 - build 4325

1. Correction of 4324

w17 25.03.2015 13:23:12 +0300 - 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.

drkns 21.03.2015 16:50:29 +0200 - build 4323

1. Copying of text from edit fields could trigger assertions.

zg 21.03.2015 16:47:45 +0200 - 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.

zg 21.03.2015 00:32:43 +0200 - build 4321

1. remove FARMACRO_KEY_EVENT.

2. temporary correction of 4318 for shift/alt/ctrl keypresses.

drkns 20.03.2015 09:36:40 +0200 - build 4320

1. Continuation of 4309.

drkns 19.03.2015 22:55:49 +0200 - build 4319

1. Correction of 4280.

zg 19.03.2015 19:12:19 +0200 - build 4318

1. refactoring: processing of keypresses.

w17 19.03.2015 13:08:26 +0300 - build 4317

1. M#2971: Crash on use of a regular expression with large number of groups

zg 19.03.2015 00:34:46 +0200 - build 4316

1. refactoring: processing of keypresses.

drkns 18.03.2015 22:06:40 +0200 - build 4315

1. Continuation of 4309.

zg 18.03.2015 16:13:08 +0200 - build 4314

1. correction of 4309: a block of undefined type was selected with ctrla in editor.

zg 18.03.2015 15:36:39 +0200 - build 4313

1. correction of 4305: ProcessEditorInputW stopped to receive key release messages.

drkns 18.03.2015 08:59:33 +0200 - build 4312

1. Syncronization objects were uninitialized in some cases.

drkns 18.03.2015 08:18:21 +0200 - build 4311

1. Correction of 4309.

drkns 17.03.2015 23:32:39 +0200 - build 4310

1. 0002970: Issues with window caption refresh

drkns 17.03.2015 22:42:42 +0200 - build 4309

1. Continue breaking of the editor. Bugs possible.

zg 17.03.2015 18:48:44 +0200 - build 4308

1. correction of 4306.

drkns 17.03.2015 09:46:47 +0200 - build 4307

1. 0002969: ProcessViewerEventW does not receive messages about QuickView closed

zg 17.03.2015 00:30:18 +0200 - build 4306

1. forum: problems with EF_OPENMODE_USEEXISTING.

zg 15.03.2015 03:02:46 +0200 - build 4305

1. ProcessEditorInput is not sent KEY_IDLE and KEY_NONE pseudo-keys.

w17 12.03.2015 17:40:22 +0300 - build 4304

1. Correction of 4302.

drkns 11.03.2015 20:07:31 +0200 - build 4303

1. Correction of 4298.

w17 11.03.2015 15:50:45 +0300 - build 4302

1. Remove query for privilege escalation for file viewed from flash drive with NTFS on Win Server 2008 R2 SP1

w17 11.03.2015 13:20:04 +0300 - build 4301

1. Correction of 4279.

drkns 09.03.2015 23:54:31 +0200 - build 4300

1. Correction of 4298.

zg 09.03.2015 20:27:35 +0200 - build 4299

1. typo in 4298.

drkns 09.03.2015 19:35:06 +0200 - build 4298

1. Refactoring.

shmuel 09.03.2015 19:09:39 +0200 - build 4297

1. M#2966: Incorrect insertion of vertical block at the end of file.

drkns 09.03.2015 16:57:18 +0200 - build 4296

1. Correction of 4294.

shmuel 09.03.2015 00:15:32 +0200 - build 4295

1. M#2965: Insertion of a vertical block strips last characters in each line.

drkns 08.03.2015 19:08:46 +0200 - build 4294

1. Refactoring.

drkns 08.03.2015 10:38:08 +0200 - build 4293

1. 0002963: FAR crash while opening a file in incorrect encoding

2. A couple of "corrections".

drkns 08.03.2015 03:59:24 +0200 - build 4292

1. fsf.sprintf/fsf.snprintf worked incorrectly (in fact, too correctly) in GCC.

2. CoUninitialize was called earlier than expected.

drkns 05.03.2015 23:52:10 +0200 - build 4291

1. Refactoring.

2. CoInitializeEx was broken in one of previous builds.

zg 05.03.2015 12:02:34 +0200 - build 4290

1. always load plugins with LoadLibrary* in order to increase DLL ref counter.

zg 05.03.2015 05:31:29 +0200 - build 4289

1. correction of 4248: leave old DM_SETTEXT behavior in wrapper.

zg 05.03.2015 03:31:02 +0200 - build 4288

1. 0002959: FCTL_SETPANELDIRECTORY redraws screen at wrong moments.

drkns 04.03.2015 02:57:17 +0200 - build 4287

1. Correction of 4280.2.

drkns 03.03.2015 22:47:29 +0200 - build 4286

1. 0002957: Undo cancels added line but it remains after file save

2. Expand main menu with Up key.

drkns 02.03.2015 22:15:32 +0200 - build 4285

1. Correction of 4280.1.

drkns 01.03.2015 16:17:34 +0200 - build 4284

1. Strange things could happen after some manipulations with QuickView.

zg 01.03.2015 13:12:22 +0200 - build 4283

1. 0002956: FAR crash on start after exit with quick view panel visible.

drkns 01.03.2015 02:12:37 +0200 - build 4282

1. Correction of 4280.2.

drkns 01.03.2015 00:58:19 +0200 - build 4281

1. Correction of 4280.1.

drkns 28.02.2015 23:56:47 +0200 - build 4280

1. FCTL_SETPANELDIRECTORY now returns 0 on failure and does not show dialogs.

2. Refactoring. Expect some bugs in editor.

w17 27.02.2015 14:35:20 +0300 - build 4279

1. M#2954: Switch to Viewer (F6) loses current position when "Save file position" is OFF

svs 25.02.2015 19:08:58 +0300 - build 4278

1. SQLite 3.8.8.3

drkns 23.02.2015 19:43:02 +0200 - build 4277

1. Correction of 4275.

2. Continuation of 4276.

drkns 21.02.2015 11:14:06 +0200 - build 4276

1. Incorrect expansion of paths C:path.

drkns 21.02.2015 09:54:33 +0200 - build 4275

1. Refactoring.

shmuel 21.02.2015 00:52:00 +0200 - build 4274

1. Refactoring.

shmuel 20.02.2015 17:58:57 +0200 - build 4273

1. Refactoring.

zg 20.02.2015 01:01:34 +0200 - build 4272

1. correction of 4262: when something caused quickview redraw in VE_READ, FAR crashed.

shmuel 19.02.2015 16:30:33 +0200 - build 4271

1. M#2950: InputRecordToName returns a character of code 1: ☺

w17 18.02.2015 23:36:18 +0300 - build 4270

1. M#2949: HEX search problem -- fix 4208

svs 14.02.2015 10:29:41 +0300 - build 4269

1. SQLite 3.8.8.2

w17 13.02.2015 16:24:23 +0300 - build 4268

1. M#2540: Viewer Search always starts from the beginning of the file 

2. Default Viewer.PersistentBlocks = true

zg 09.02.2015 02:06:46 +0200 - build 4267

1. ACTL_WAITKEY returns 0 in accordance with the documentation.

w17 08.02.2015 16:36:15 +0300 - build 4266

1. M#2935: <Symlink> to files not showing

2. M#2934: Errors in HEX mode in search dialogs

w17 04.02.2015 15:35:47 +0300 - build 4265

1. Correction of 4262

w17 04.02.2015 14:10:08 +0300 - build 4264

1. Correction of 4263

w17 03.02.2015 20:32:45 +0300 - build 4263

1. Viewer autoupdate if ACTL_SYNCHRO or far.Timer() are present (M#2532)

w17 03.02.2015 17:43:09 +0300 - build 4262

1. Incorrect display of the text of a modified file after switching to viewer.

shmuel 03.02.2015 01:42:54 +0200 - 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.

w17 02.02.2015 13:38:18 +0300 - 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

drkns 01.02.2015 17:25:54 +0200 - build 4259

1. Replacement with regular expressions can use named groups now.

drkns 30.01.2015 19:26:48 +0200 - build 4258

1. 0002708: Regexp "^(.*?\-\-)" != "^(.*?\-{2})"
   Rollback 4257 and fix 3295.

w17 30.01.2015 19:39:58 +0300 - build 4257

1. M#0002708: Regexp "^(.*?\-\-)" != "^(.*?\-{2})"
   Return #define MINSTEP(cmp) - /a*?ca/ "abca" which works

svs 26.01.2015 15:43:08 +0300 - 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...

drkns 24.01.2015 09:09:05 +0200 - build 4255

1. Correction of 4254.2.

drkns 22.01.2015 23:13:47 +0200 - 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.

shmuel 22.01.2015 13:21:30 +0200 - build 4253

1. Refactoring.

shmuel 21.01.2015 23:58:16 +0200 - build 4252

1. Refactoring.

shmuel 21.01.2015 16:51:57 +0200 - build 4251

1. Refactoring.

zg 20.01.2015 23:11:38 +0200 - build 4250

1. correction of 4248 for non-editable controls.

svs 20.01.2015 23:19:32 +0300 - build 4249

1. SQLite 3.8.8.1

zg 20.01.2015 03:18:09 +0200 - build 4248

1. 0002912: DM_SETTEXT, DM_GETTEXT in dialogs do not allow handle strings containing '\0'.

svs 19.01.2015 23:46:37 +0300 - build 4247

1. SQLite 3.8.8

drkns 19.01.2015 20:24:15 +0200 - build 4246

1. Correction of displaying of file deletion progress bar.

shmuel 18.01.2015 20:58:13 +0200 - build 4245

1. Data for content columns of the same name but different plugins are concatenated.

shmuel 17.01.2015 23:30:07 +0200 - build 4244

1. Refactoring.

drkns 17.01.2015 23:10:50 +0200 - build 4243

1. 0002908: Exception after attempt of displaying a description for incorrect Descript.ion

drkns 17.01.2015 16:00:16 +0200 - build 4242

1. Continuation of 4241.

1. Support for compilation with Intel C++ 14.

drkns 17.01.2015 09:38:11 +0200 - build 4241

1. Race condition in far /?

2. Correction of 4232.

3. Refactoring.

zg 16.01.2015 00:46:37 +0200 - build 4240

1. correction for altf9 in quick search.

svs 14.01.2015 12:54:28 +0300 - build 4239

1. F1 shows "MiscCmd" help screen in grabber (Alt-Ins).
   Selection of an area is not cancelled on help window close.

shmuel 11.01.2015 20:00:05 +0200 - build 4238

1. Refactoring.

drkns 09.01.2015 19:25:37 +0200 - build 4237

1. 0002849: ProcessSynchroEventW is called for DMODE_NOPLUGINS.

zg 09.01.2015 01:10:36 +0200 - build 4236

1. incorrect redrawing of panels after filter menu close.

zg 09.01.2015 00:44:51 +0200 - build 4235

1. ACTL_REDRAWALL now redraws everything.

drkns 08.01.2015 22:22:57 +0200 - build 4234

1. Refactoring.

2. VS2015 warnings.

drkns 04.01.2015 19:27:27 +0200 - build 4233

1. Refactoring.

drkns 03.01.2015 12:36:25 +0200 - build 4232

1. Refactoring.

zg 02.01.2015 13:56:19 +0200 - build 4231

1. 0002896: Assign a GUID to the panel filter editing dialog.

drkns 30.12.2014 18:01:40 +0200 - build 4230

1. Use std::regex for inner path parser.
   Minimal gcc version is now 4.9.

drkns 27.12.2014 15:13:59 +0200 - build 4229

1. 0002845: Wrong Handling of "exclamation marks" in Menu item "!?<title>?<init>!"

zg 26.12.2014 18:50:17 +0200 - build 4228

1. sometimes fast search in panels was not redrawn correctly.

drkns 24.12.2014 22:53:03 +0200 - build 4227

1. Continuation of #0002893 - privilege escalation is added.

drkns 22.12.2014 22:53:05 +0200 - build 4226

1. 0002893: Cannot unmount iso, vhd, vhdx

svs 22.12.2014 15:31:42 +0300 - 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).

svs 22.12.2014 13:24:20 +0300 - build 4224

1. Corrections on TREEFILE_PROJECT (Mantis#0000186)

drkns 21.12.2014 15:02:37 +0200 - build 4223

1. Experimental: alternative solution for a problem of "open with" in launcher.

drkns 20.12.2014 14:21:00 +0200 - build 4222

1. Correction of 4221.

drkns 20.12.2014 14:12:21 +0200 - build 4221

1. Settings import error.

2. Writing failure of tree3.far on exit could freeze the app.

3. Refactoring.

zg 18.12.2014 17:04:23 +0200 - build 4220

1. Issues with filenames starting with ゝ character.

drkns 16.12.2014 09:27:11 +0200 - build 4219

1. 0002887: Far Manager v3.0 build 4218 x64 (2014-12-16) crash after Ctrl-F in panels (get a full path)

drkns 16.12.2014 00:02:43 +0200 - build 4218

1. And one more time.

drkns 15.12.2014 21:16:06 +0200 - build 4217

1. Correction of 4216.

drkns 15.12.2014 19:31:52 +0200 - build 4216

1. A couple if issues in 4214.

svs 15.12.2014 13:05:37 +0300 - build 4215

1. Mantis#0002878: Object.CheckHotkey

shmuel 15.12.2014 00:18:36 +0200 - 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>.

drkns 14.12.2014 21:32:16 +0200 - build 4213

1. Refactoring.

shmuel 13.12.2014 17:58:08 +0200 - build 4212

1. MacroControl(MCTL_ADDMACRO) with given Callback function did not work in GCC build of FAR.

svs 09.12.2014 21:54:12 +0300 - build 4211

1. SQLite 3.8.7.4

zg 07.12.2014 17:27:25 +0200 - build 4210

1. correction of 4208: crash of some panel ansi plugins.

zg 07.12.2014 15:51:43 +0200 - build 4209

1. correction of 4208: files in encoding 1200 and 1201 were opened in viewer in dump mode.

drkns 06.12.2014 19:29:13 +0200 - build 4208

1. Refactoring.

zg 06.12.2014 01:05:54 +0200 - build 4207

1. rollback of 4203.2, 4204.

shmuel 04.12.2014 20:53:25 +0200 - build 4206

1. Correction of 3680.

w17 03.12.2014 14:41:20 +0300 - build 4205

1. M#2211: GUI context menu cannot be closed by pressing Esc button
   EMenu is called on button release

zg 03.12.2014 03:56:49 +0200 - build 4204

1. experimental. continuation of 4203. support for C1-C9 columns.

zg 30.11.2014 11:55:22 +0200 - 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.

zg 29.11.2014 02:37:27 +0200 - build 4202

1. correction of 4137.

zg 20.11.2014 16:25:43 +0200 - build 4201

1. FAR crashed when a plugin returned nullptr in KeyBarLabel.Text.

zg 20.11.2014 13:22:03 +0200 - build 4200

1. correction of 4197.

zg 20.11.2014 04:03:52 +0200 - build 4199

1. correction of 4197: do not update plugin panels.

zg 20.11.2014 03:14:13 +0200 - build 4198

1. correction of 4197.

zg 20.11.2014 03:03:40 +0200 - build 4197

1. sometimes the panels could be reread but not redrawn.

drkns 20.11.2014 01:07:04 +0200 - build 4196

1. Change of text color calculation in panels, see http://forum.farmanager.com/viewtopic.php?p=125730.

zg 20.11.2014 00:43:18 +0200 - build 4195

1. content search in files worked only for the first 32 kilobytes.

svs 19.11.2014 14:51:39 +0300 - build 4194

1. SQLite 3.8.7.2

drkns 16.11.2014 23:30:38 +0200 - build 4193

1. A couple of issues.

drkns 16.11.2014 17:10:47 +0200 - build 4192

1. DWORD -> size_t mix.

drkns 16.11.2014 15:04:03 +0200 - build 4191

1. Forum: msgbox('""','""') does not output quotes

2. Refactoring.

shmuel 14.11.2014 14:32:36 +0200 - build 4190

1. mf.waitkey worked incorrectly when called not from a macro.

drkns 12.11.2014 23:34:04 +0200 - build 4189

1. Do not hide sizes for any types of reparse points.

w17 12.11.2014 17:19:14 +0300 - build 4188

1. Correction of 4174.3

drkns 11.11.2014 23:09:00 +0200 - build 4187

1. "Delete symbolic links" option is transformed to a warning in the process of deletion.

w17 11.11.2014 16:30:33 +0300 - build 4186

1. Correction of 4185

w17 11.11.2014 15:50:30 +0300 - build 4185

1. Quick/Diz Viewer Keybar corrections

drkns 10.11.2014 20:11:52 +0200 - build 4184

1. "Create folders in uppercase" option is removed.

drkns 10.11.2014 19:31:00 +0200 - build 4183

1. 4180 once more.

zg 10.11.2014 19:23:23 +0200 - build 4182

1. correction of 4061.1.

zg 10.11.2014 19:00:49 +0200 - 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.

drkns 10.11.2014 18:50:48 +0200 - build 4180

1. "System settings/Create folders in uppercase" option did not work.

w17 10.11.2014 18:14:28 +0300 - build 4179

1. Correction of 4122.1

w17 10.11.2014 17:24:43 +0300 - build 4178

1. Correction of 4122.1

zg 10.11.2014 16:08:11 +0200 - build 4177

1. altf8 in editor moved to the given line even if it was cancelled.

drkns 09.11.2014 02:12:34 +0200 - build 4176

1. GCC.

drkns 09.11.2014 00:34:51 +0200 - build 4175

1. Correction of 4174.

drkns 08.11.2014 23:16:10 +0200 - 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).

zg 07.11.2014 12:33:42 +0200 - 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.

zg 07.11.2014 03:22:43 +0200 - build 4172

1. each screen object has now its parent window.

drkns 06.11.2014 15:56:10 +0200 - build 4171

1. Forum: Excepton occured: bad allocation

zg 05.11.2014 16:44:44 +0200 - 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%)

drkns 02.11.2014 13:15:16 +0200 - build 4169

1. More corrections of 4167.

drkns 02.11.2014 11:38:28 +0200 - build 4168

1. Correction of 4167.

drkns 02.11.2014 00:53:53 +0200 - build 4167

1. Refactoring.

drkns 02.11.2014 00:38:57 +0200 - build 4166

1. Correction of 4164.2.

svs 30.10.2014 09:39:35 +0300 - build 4165

1. SQLite 3.8.7.1

drkns 29.10.2014 21:40:58 +0200 - build 4164

1. Do not crash if there is not enough memory to open a file in editor.

2. A couple of minor issues.

w17 29.10.2014 18:50:54 +0300 - build 4163

1. Show the number of the codepage in editor transcoding problems warning.

w17 28.10.2014 16:39:44 +0300 - build 4162

1. FFILEEDIT_CODEPAGECHANGEDBYUSER/editor, CodePageChangedByUser/viewer are commented out.

w17 28.10.2014 10:06:51 +0300 - build 4161

1. Continuing 4150.

w17 27.10.2014 12:45:51 +0300 - build 4160

1. Continuing 4150.

zg 26.10.2014 16:39:00 +0200 - build 4159

1. removed original method of redrawing a window by sending it 'gotfocus'.

zg 25.10.2014 21:39:01 +0200 - build 4158

1. editor drawing optimization.

w17 25.10.2014 21:18:26 +0400 - build 4157

1. Again 4150.

zg 25.10.2014 18:45:48 +0200 - build 4156

1. excessive redrawing of edit controls is removed.

w17 22.10.2014 17:54:51 +0400 - 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.

drkns 22.10.2014 00:04:44 +0200 - build 4154

1. Correction of 4145.

w17 21.10.2014 15:02:24 +0400 - build 4153

1. Correction of correction of 4150.

w17 21.10.2014 14:25:48 +0400 - build 4152

1. Correction of 4150.

drkns 20.10.2014 21:17:09 +0200 - build 4151

1. #0002841: FAR freeze

w17 20.10.2014 14:12:09 +0400 - 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).

shmuel 20.10.2014 00:54:08 +0200 - build 4149

1. M#2838: Glitches on display after macro completion.

drkns 19.10.2014 08:47:14 +0200 - build 4148

1. Correction of 4145.

zg 19.10.2014 03:03:18 +0200 - build 4147

1. some useless code is removed.

zg 19.10.2014 02:28:21 +0200 - build 4146

1. again, tabulation and coloring problems in editor.

drkns 19.10.2014 00:25:12 +0200 - build 4145

1. Refactoring.

zg 19.10.2014 00:10:02 +0200 - build 4144

1. correction of 4141.

2. an old bug, ECTL_GETINFO called from EE_REDRAW returned incorrect LeftPos.

svs 18.10.2014 11:00:19 +0400 - build 4143

1. SQLite 3.8.7

w17 18.10.2014 06:15:54 +0300 - build 4142

1. correction of 4135

zg 18.10.2014 02:39:46 +0200 - build 4141

1. 0002835: Glitches if the content is shifted to the left.

drkns 17.10.2014 23:22:14 +0200 - build 4140

1. #0002839: Incorrectly associated names of attributes

zg 17.10.2014 14:01:23 +0200 - build 4139

1. correction of 4137.

zg 17.10.2014 04:06:40 +0200 - build 4138

1. ACTL_GETWINDOWINFO returns all windows in current z-order.

zg 17.10.2014 03:27:45 +0200 - build 4137

1. correction of 4134: copy-paste is removed, all highlighting areas are actually deleted.

zg 17.10.2014 01:30:31 +0200 - build 4136

1. if an already opened file was being opened in editor from search then the qeuery was displayed incorrectly.

2. gcc warning.

w17 16.10.2014 02:20:55 +0300 - build 4135

1. M#2829: Empty screen in viewer wnhen the file is rewritten

shmuel 16.10.2014 00:05:23 +0200 - 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.

drkns 14.10.2014 22:24:10 +0200 - build 4133

1. Incorrect error code displayed on tree3.far writing failure.

drkns 13.10.2014 19:25:09 +0200 - build 4132

1. Forum: "Starting from 4062, the performance of regular expressions execution has decreased significantly."

drkns 11.10.2014 19:53:46 +0200 - 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.

drkns 09.10.2014 01:53:12 +0200 - build 4130

1. Correction of 4129.

2. Remove unused code.

drkns 08.10.2014 19:55:41 +0200 - build 4129

1. #0002781: Exception under VS2013 debugger

2. GCC warnings.

drkns 08.10.2014 09:50:10 +0200 - build 4128

1. #0002824: Assertion: list iterator not decrementable

drkns 01.10.2014 20:07:16 +0200 - build 4127

1. Another couple of corrections in Message.

2. Refactoring.

drkns 30.09.2014 23:55:34 +0200 - build 4126

1. Continuation of 4125.

2. Correction of 4122.1.

drkns 30.09.2014 21:08:57 +0200 - build 4125

1. 0002811: Broken Message with FMSG_ALLINONE flag

drkns 29.09.2014 21:27:31 +0200 - build 4124

1. Correction of 4122.1

drkns 29.09.2014 14:09:13 +0200 - build 4123

1. Flags support is added to external DialogBuilder.

drkns 27.09.2014 15:33:27 +0200 - build 4122

1. Support for additional buttons is added to external DialogBuilder.

2. Support for lists is added to internal DialogBuilder.

drkns 27.09.2014 14:25:43 +0200 - build 4121

1. Continuation of 4120.

drkns 26.09.2014 19:23:14 +0200 - build 4120

1. Refactoring of Message: separate lines from buttons.

drkns 22.09.2014 19:59:11 +0200 - build 4119

1. Forum: Broken addition of a file from a panel to the command line if autocompletion is active in the command line.

drkns 22.09.2014 19:21:31 +0200 - build 4118

1. #0002804: PN_CHECKMASK does not recognize incorrect regular expressions in 3.0.4117

drkns 21.09.2014 15:58:34 +0200 - build 4117

1. Optimization of make_vector.

zg 21.09.2014 13:35:14 +0200 - 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.

drkns 21.09.2014 11:46:25 +0200 - build 4115

1. Macros for emulation of variadic templates are placed separately, improved and used instead of manual copy-pasting everywhere it is needed.

drkns 20.09.2014 21:26:14 +0200 - build 4114

1. Continuation of 4112.

drkns 20.09.2014 17:53:05 +0200 - build 4113

1. VC10 fix.

drkns 20.09.2014 17:14:32 +0200 - build 4112

1. Correction of 4111.

2. Incorrect error position on regexp compilation.

3. Show text and position of regexp compilation error.

drkns 20.09.2014 17:00:20 +0200 - build 4111

1. Named groups in regular expressions. Library level yet.

drkns 19.09.2014 23:47:55 +0200 - build 4110

1. Split common.hpp to components.

2. Build failure in gcc 4.8.1.

zg 19.09.2014 02:15:54 +0200 - 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.

drkns 19.09.2014 01:29:27 +0200 - build 4108

1. Somewhere between 4008 and 4012 the regular expressions were slightly broken.

drkns 16.09.2014 23:49:54 +0200 - build 4107

1. Refactoring.

drkns 14.09.2014 18:38:33 +0200 - build 4106

1. Asynchronous DB service thread handles were not closed in time and could accumulate endlessly.

drkns 14.09.2014 14:42:05 +0200 - build 4105

1. Refactoring.

drkns 14.09.2014 10:47:27 +0200 - build 4104

1. Correction of 4100.

drkns 14.09.2014 02:11:01 +0200 - build 4103

1. Correction of 4101.

zg 14.09.2014 01:46:47 +0200 - 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.

drkns 14.09.2014 00:44:51 +0200 - build 4101

1. Correction of 4100.

drkns 13.09.2014 22:50:49 +0200 - 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.

drkns 12.09.2014 00:57:26 +0200 - build 4099

1. Support for FILE_ATTRIBUTE_INTEGRITY_STREAM and FILE_ATTRIBUTE_NO_SCRUB_DATA attributes.

zg 11.09.2014 00:27:32 +0200 - 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.

drkns 11.09.2014 00:07:10 +0200 - 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.

drkns 09.09.2014 21:16:03 +0200 - build 4096

1. Correction of 4096.

drkns 09.09.2014 18:04:46 +0200 - build 4095

1. Correction of 4072.1.

zg 09.09.2014 00:56:39 +0200 - build 4094

1. fix for editor coloring problems when the left coordinate is not zero.

zg 08.09.2014 19:55:01 +0200 - build 4093

1. correction of 4090.

2. double check of modality is removed.

zg 08.09.2014 15:12:38 +0200 - build 4092

1. forum: EE_CLOSE is not generated on F6 in the editor.

2. correction of 4091 for the clock.

3. refactoring.

zg 08.09.2014 13:10:44 +0200 - build 4091

1. when a window is redrawn, all windows above are also redrawn.

zg 07.09.2014 23:51:48 +0200 - build 4090

1. FAR crash on ACTL_SETCURRENTWINDOW call from plugins menu without consequent ACTL_COMMIT.

zg 07.09.2014 22:53:05 +0200 - build 4089

1. forbiddance of starting a non-modal editor/viewer applies not only modal editor/viewer,
   but also any modal window.

zg 05.09.2014 12:17:12 +0200 - build 4088

1. correction of 4083 for ACTL_GETWINDOWINFO.

zg 05.09.2014 01:51:10 +0200 - build 4087

1. check for repeated adding of a window to the window manager.

zg 04.09.2014 23:56:47 +0200 - build 4086

1. correction of 4083: incorrect handling of f6 in editor/viewer.

zg 04.09.2014 23:49:46 +0200 - build 4085

1. the current editor/viewer is now detected dynamically.

zg 04.09.2014 12:52:38 +0200 - 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.

zg 04.09.2014 04:07:18 +0200 - build 4083

1. non-modal windows have z-order now.

zg 03.09.2014 23:18:26 +0200 - build 4082

1. correction of 4061.1.

drkns 03.09.2014 21:57:15 +0200 - build 4081

1. A couple of issues.

shmuel 03.09.2014 16:14:57 +0200 - build 4080

1. Continuation of 4077.

shmuel 03.09.2014 12:14:17 +0200 - build 4079

1. Refactoring of 4077.

drkns 03.09.2014 09:45:11 +0200 - build 4078

1. Correction of 4076.

shmuel 03.09.2014 01:22:09 +0200 - build 4077

1. M#2705: Far.GetConfig (replaces Far.Cfg_Get).

drkns 03.09.2014 00:57:03 +0200 - 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.

drkns 02.09.2014 09:20:13 +0200 - build 4075

1. Correction of 4072.1.

zg 01.09.2014 15:56:02 +0200 - build 4074

1. 0002786: Freeze on Far Manager close if some edited files have left opened.

2. unnecessary volatile is removed.

drkns 31.08.2014 17:22:50 +0200 - build 4073

1. 0002785: Crash on attempt to call the archive creation dialog (shift+F1)

2. Refactoring.

drkns 30.08.2014 20:27:40 +0200 - 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.

drkns 30.08.2014 14:02:22 +0200 - build 4071

1. Continuing renamings: Frame is window now, because it actually is.

2. Refactoring.

3. 0002781: Exception under the VS2013 debugger

drkns 27.08.2014 22:20:03 +0200 - 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.

shmuel 27.08.2014 21:21:19 +0200 - build 4069

1. Continuation of 4068.

shmuel 26.08.2014 21:08:48 +0200 - build 4068

1. MCTL_LOADALL supports explicit definition of paths for macro files loading.

drkns 25.08.2014 00:30:14 +0200 - build 4067

1. Correction of 4064.

drkns 24.08.2014 18:51:17 +0200 - build 4066

1. Refactoring.

drkns 23.08.2014 22:57:24 +0200 - build 4065

1. Mistype in 3542 which lead to invisibility of directories ".?" under some circumstances.

2. clang warning.

drkns 23.08.2014 17:09:59 +0200 - build 4064

1. A big pack of renamings: get rid of name collisions and related warnings from analyzers and VS 14.

svs 21.08.2014 15:07:45 +0400 - build 4063

1. SQLite 3.8.6

drkns 21.08.2014 02:09:09 +0200 - 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.

zg 21.08.2014 01:26:03 +0200 - build 4061

1. Launch of modal windows is redone.

2. viewer is not removed during VE_GOTFOCUS/VE_KILLFOCUS processing.

drkns 21.08.2014 00:45:30 +0200 - build 4060

1. Remove some misconception from help.?pp.

2. Add some asserts and const-ness.

2. Other refactoring.

zg 19.08.2014 22:40:41 +0200 - build 4059

1. simplify setting the current macro area.

zg 18.08.2014 20:22:56 +0200 - build 4058

1. correction of 4011: regexp search crashed on (?=pattern) and (?!pattern).

zg 18.08.2014 19:26:05 +0200 - 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.

zg 17.08.2014 23:36:15 +0200 - build 4056

1. crash on drawing the shadow of a dialog beyond the screen limits.

drkns 17.08.2014 21:15:50 +0200 - build 4055

1. The support for elevation getting the amount of full/free volume size.

drkns 17.08.2014 00:53:51 +0200 - build 4054

1. Correction of 4052.

zg 16.08.2014 22:08:40 +0200 - build 4053

1. fast search in panels - the real window.

drkns 16.08.2014 20:39:09 +0200 - build 4052

1. Move the processing of unnecessary keys out of the window manager.

drkns 16.08.2014 15:31:44 +0200 - build 4051

1. 0002763: Buffer scrolling function does not work with Numpad keys

drkns 16.08.2014 15:25:55 +0200 - build 4050

1. 0002765: "functional key bar" is hidden in panels but shown on Ctrl-Alt-Shift.

drkns 16.08.2014 15:16:54 +0200 - build 4049

1. 0002766: search does not work if a comma exists in the folder name.

drkns 16.08.2014 15:00:36 +0200 - 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.

drkns 16.08.2014 14:49:31 +0200 - build 4047

1. 0002768: Quick view – wrong plugin area

drkns 16.08.2014 01:21:40 +0200 - build 4046

1. Refactoring.

zg 12.08.2014 01:30:09 +0200 - build 4045

1. forum: MCTL_GETAREA in horizontal menu returns now MACROAREA_OTHER (instead of MACROAREA_MAINMENU).

2. refactoring.

drkns 11.08.2014 23:51:38 +0200 - build 4044

1. In /e and /v modes plugins got control before full initialization of the manager.

drkns 11.08.2014 20:24:09 +0200 - build 4043

1. Continuation of 4039.

drkns 10.08.2014 19:54:12 +0200 - build 4042

1. Continuation of 4040.

drkns 10.08.2014 11:18:55 +0200 - build 4041

1. Continuation of 4039 and 4040.

drkns 10.08.2014 00:47:12 +0200 - build 4040

1. Refactoring.

drkns 09.08.2014 17:31:49 +0200 - build 4039

1. Going on with the window system.
   Now the userscreen visible under panels is the separate window.

2. Refactoring.

drkns 06.08.2014 18:59:06 +0200 - build 4038

1. Correction of 4036.

drkns 06.08.2014 09:01:30 +0200 - build 4037

1. Forum: In 4036 the commands disappeared from screen which were invoked from the command line

drkns 05.08.2014 22:59:59 +0200 - build 4036

1. Refactoring.

drkns 04.08.2014 19:57:16 +0200 - 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.

drkns 02.08.2014 14:47:23 +0200 - build 4034

1. Information on DFS resources was not always displayed correctly.

drkns 01.08.2014 21:36:24 +0200 - build 4033

1. 0002445: Copying of encrypted (EFS) files

drkns 31.07.2014 22:45:46 +0200 - build 4032

1. Cppcheck warnings.

drkns 31.07.2014 00:18:41 +0200 - build 4031

1. More Clang.

drkns 30.07.2014 21:07:46 +0200 - build 4030

1. Correction of 4018.2.

drkns 29.07.2014 21:22:25 +0200 - 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.

drkns 26.07.2014 15:29:52 +0200 - build 4028

1. For the sake of abstract perfectness, compiling hook_wow64 as C++.

drkns 25.07.2014 23:09:46 +0200 - build 4027

1. Refactoring.

zg 25.07.2014 13:55:39 +0200 - build 4026

1. correction of 4025 for ACTL_GETWINDOWTYPE.

2. correction of 4025 for the editor.

zg 25.07.2014 12:40:09 +0200 - build 4025

1. correction of 3981.

drkns 24.07.2014 23:19:41 +0200 - 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).

zg 24.07.2014 12:53:54 +0200 - 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.

zg 24.07.2014 01:40:17 +0200 - build 4022

1. correction of 4020: do not show window list in the horizontal menu and the grabber.

zg 24.07.2014 00:20:25 +0200 - build 4021

1. unused code removed in window manager.

zg 23.07.2014 23:11:32 +0200 - 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.

drkns 23.07.2014 19:55:47 +0200 - build 4019

1. Built-in copy function buffer size is now 32 K instead of 64.

drkns 23.07.2014 03:30:09 +0200 - build 4018

1. Correction of 3978.

2. Weird autobinding of hotkeys in menu. Could have missed something.

drkns 22.07.2014 23:18:52 +0200 - build 4017

1. Continuation of 4015:
   - restore attempts of stack overflow handling.

drkns 22.07.2014 20:15:47 +0200 - build 4016

1. 0002741: ECTL_CLEARSESSIONBOOKMARKS causes a crash

drkns 22.07.2014 01:04:14 +0200 - build 4015

1. Exception mix:
   - handle std::exception when calling plugins
   - invoking the debugger worked incorrectly
   - refactoring

drkns 21.07.2014 21:28:10 +0200 - build 4014

1. One more homemade linked list down.

svs 21.07.2014 11:49:01 +0400 - 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. 

zg 20.07.2014 23:32:48 +0200 - build 4012

1. correction of 4003.

drkns 20.07.2014 21:59:46 +0200 - build 4011

1. Refactoring.

drkns 19.07.2014 20:04:59 +0200 - build 4010

1. Refactoring.

drkns 19.07.2014 13:01:14 +0200 - build 4009

1. Correction of std::make_unique emulation: parameters were passed by value.

zg 18.07.2014 01:59:14 +0200 - build 4008

1. correction of 4006.

drkns 18.07.2014 01:49:25 +0200 - build 4007

1. Obtaining of bookmarks did not work in editor. For a long time already.

zg 18.07.2014 01:06:52 +0200 - 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.

zg 17.07.2014 02:44:33 +0200 - 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.

shmuel 16.07.2014 18:15:38 +0200 - build 4004

1. Addition to LuaMacro plugin's access to the screen buffer.

zg 16.07.2014 01:13:27 +0200 - build 4003

1. forum: incorrect console caption when calling the macrobrowser via Plugin.Menu.

zg 15.07.2014 21:39:44 +0200 - build 4002

1. forum: crash in ACTL_GETWINDOWINFO.

shmuel 14.07.2014 20:56:15 +0200 - build 4001

1. Plugin.Menu(), Plugin.Config() and Plugin.Command() return false on failure.

drkns 14.07.2014 14:39:33 +0200 - build 4000

1. 0002709: Query for administrator privileges may be invisible if called from a macro

zg 13.07.2014 14:50:01 +0200 - build 3999

1. correction of 3992: dialogs were shown onlyl one time after creation.

drkns 13.07.2014 14:24:22 +0200 - build 3998

1. Interface.FormatNumberSeparators option now has string type.

2. SmallerTypeCheck is switched on in debug build.

3. Refactoring.

drkns 12.07.2014 20:33:45 +0200 - build 3997

1. Correction of 3996 and a couple of issues.

drkns 12.07.2014 14:18:49 +0200 - build 3996

1. /set:<parameter>=<value> option is added which allows for redefinition of main settings (see far:config).

drkns 12.07.2014 09:45:28 +0200

1. Support for lists in external DialogBuilder.

zg 11.07.2014 22:11:38 +0200 - build 3995

1. correction of 3993: EE_READ was not called in viewer if it was opened with +/-.

zg 11.07.2014 19:21:21 +0200 - build 3994

1. correction of 3981 for the horizontal menu.

zg 10.07.2014 22:54:11 +0200 - build 3993

1. VE_READ is called when the viewport is fully constructed.

zg 10.07.2014 20:54:25 +0200 - build 3992

1. correction of 3981.

zg 10.07.2014 15:49:53 +0200 - build 3991

1. correction of 3985: ECTL_GETINFO and ECTL_GETBOOKMARKS did not work in EE_CLOSE.

zg 10.07.2014 13:54:25 +0200 - build 3990

1. on file reopen in editor a wrong frame could be closed. even panels could.

drkns 10.07.2014 09:14:35 +0200 - build 3989

1. An ancient bug, which revealed itself in recent crashes on exit:
   - do not close handles awaited by WaitForMultipleObjects.

zg 10.07.2014 03:05:00 +0200 - build 3988

1. correction of 3981: /v key did not work.

2. correction of 3986: crash on exit.

drkns 09.07.2014 22:10:05 +0200 - build 3987

1. Refactoring.

zg 09.07.2014 21:38:08 +0200 - 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.

zg 09.07.2014 15:36:33 +0200 - build 3985

1. forum: "ACTL_GETWINDOWTYPE and ACTL_GETWINDOWINFO don't work when called from EE_CLOSE/VE_CLOSE".

zg 09.07.2014 12:47:11 +0200 - build 3984

1. correction of 3981: sometimes on windows close other unexpected windows were activated.

drkns 09.07.2014 00:54:24 +0200 - build 3983

1. Refactoring.

zg 08.07.2014 21:06:45 +0200 - build 3982

1. correction of 3981.

zg 08.07.2014 13:53:39 +0200 - 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.

svs 07.07.2014 13:58:08 +0400 - build 3980

1. EMenu was always called with OPEN_LEFTDISKMENU

drkns 06.07.2014 15:24:29 +0200 - build 3979

1. Refactoring.

drkns 04.07.2014 22:46:04 +0200 - build 3978

1. Inner utf8 -> utf16 convertor processed 4-byte characters incorrectly.

drkns 03.07.2014 19:16:23 +0200 - build 3977

1. Correction of 3869.

drkns 03.07.2014 00:19:44 +0200 - build 3976

1. Support for combined lists in DialogBuilder.

drkns 02.07.2014 23:55:43 +0200 - build 3975

1. Interface of Thread class is brought slightly closer to standard: now it accepts anything, not only uint(void*).

drkns 01.07.2014 19:49:09 +0200 - build 3974

1. Continuation of 3970, a couple of issues.

drkns 01.07.2014 15:43:01 +0200 - build 3973

1. Continuation of 3970. Initialization of imports on demand.

drkns 01.07.2014 12:29:19 +0200 - build 3972

1. Continuation of 3970.

drkns 01.07.2014 00:43:59 +0200 - 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.

drkns 30.06.2014 19:07:38 +0200 - build 3970

1. Refactoring.

drkns 29.06.2014 19:09:47 +0200 - build 3969

1. Refactoring.

2. Removed unused code from tvar.?pp.

zg 29.06.2014 16:27:02 +0200 - build 3968

1. 0002723: ECTL_GETINFO does not work when invoking an editor from an editor

drkns 28.06.2014 02:43:22 +0200 - build 3967

1. Refactoring.

drkns 27.06.2014 19:53:08 +0200 - build 3966

1. Restore broken GCC build.

2. GCC warning.

3. Refactoring.

svs 26.06.2014 14:23:24 +0400 - build 3965

1. Mantis#0002692: No way to cancel an operation launched from a macro
   Rollback of build 3963 until better times. Bugs spotted.

w17 26.06.2014 00:16:21 +0400 - 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!

svs 25.06.2014 11:17:19 +0400 - build 3963

1. Mantis#0002692: No way to cancel an operation launched from a macro
   Let's comment it and watch.

w17 25.06.2014 00:16:56 +0400 - build 3962

1. Correction of 3960.

drkns 24.06.2014 19:41:46 +0200 - build 3961

1. Correction of 3958.

w17 24.06.2014 20:02:53 +0400 - build 3960

1. M#2706: Errors not processed while converting to UTF-7

w17 23.06.2014 14:41:05 +0400 - build 3959

1. Correction of 3956.

drkns 21.06.2014 15:51:25 +0200 - build 3958

1. On launch via 'Far.exe /p%FARPROFILE%\Plugins' the plugins were not loaded.

drkns 20.06.2014 20:12:27 +0200 - build 3957

1. If the plugin panel contains items with FILE_ATTRIBUTE_REPARSE_POINT attributes, treat them as symlinks.

w17 20.06.2014 13:46:02 +0400 - build 3956

1. Experimental. M#2684: A possibility of changing the codepage on file reread

drkns 19.06.2014 09:33:50 +0200 - build 3955

1. A potential problem in SyncedQueue and a couple of fixes in Thread and MultiWaiter in order to improve readability.

drkns 19.06.2014 08:46:39 +0200 - build 3954

1. In 3842, launcher failed in some cases.

zg 18.06.2014 10:56:30 +0200 - build 3953

1. after 3895, alt-d did not work in editor.

w17 16.06.2014 23:43:57 +0400 - build 3952

1. M#2708: Regexp "^(.*?\-\-)" != "^(.*?\-{2})"

shmuel 10.06.2014 11:38:11 +0200 - build 3951

1. Correction of 3949.

shmuel 10.06.2014 00:45:54 +0200 - build 3950

1. When LuaMacro plugin was unloaded due to an exception the manual macro recording was not disabled immediately.

drkns 09.06.2014 22:12:24 +0200 - build 3949

1. Support for VS 14 (CTP), with warnings so far.

shmuel 08.06.2014 22:47:12 +0200 - build 3948

1. Refactoring.

svs 07.06.2014 11:16:01 +0400 - build 3947

1. SQLite 3.8.5

shmuel 06.06.2014 21:35:19 +0200 - build 3946

1. Refactoring.

drkns 06.06.2014 19:00:44 +0200 - build 3945

1. far:ver -> far:about

shmuel 06.06.2014 16:21:30 +0200 - build 3944

1. far /m disables initial loading of macros only, later the macros can be
   loaded in any possible manner.

w17 06.06.2014 12:37:17 +0400 - build 3943

1. ver -> far:ver

drkns 05.06.2014 20:51:49 +0200 - build 3942

1. Forum: error of autofilter creation, if the name of a file contains ,;

w17 05.06.2014 16:23:29 +0400 - 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.

drkns 05.06.2014 01:06:34 +0200 - 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.

drkns 04.06.2014 20:11:04 +0200 - build 3939

1. And more.

shmuel 04.06.2014 13:52:16 +0200 - build 3938

1. Correction of 3925.

drkns 03.06.2014 17:35:54 +0200 - build 3937

1. Another couple of bugs in 3934.

drkns 03.06.2014 09:15:51 +0200 - build 3936

1. A couple of bugs in 3934.

drkns 03.06.2014 03:21:08 +0200 - build 3935

1. GCC.

drkns 03.06.2014 02:42:03 +0200 - build 3934

1. Random refactoring.

2. Far processes 'ver' command showing its own version, versions of used libraries and installed plugins.

drkns 03.06.2014 02:16:43 +0200 - build 3933

1. 0002687: Codepages menu: --Other-- separator disappears

shmuel 02.06.2014 18:15:07 +0200 - build 3932

1. Refactoring.

shmuel 02.06.2014 00:17:53 +0200 - build 3931

1. Refactoring.

shmuel 31.05.2014 17:30:49 +0200 - build 3930

1. Refactoring.

shmuel 30.05.2014 23:19:36 +0200 - build 3929

1. Correction of 3925.

shmuel 30.05.2014 21:32:26 +0200 - build 3928

1. Correction of 3925 (memory leak).

shmuel 29.05.2014 13:38:28 +0200 - build 3927

1. Correction of 3825 (DI_FIXEDIT).

shmuel 28.05.2014 16:10:23 +0200 - build 3926

1. Correction of 3925.

shmuel 28.05.2014 13:00:02 +0200 - build 3925

1. Experimental: M#2674: Return of the panel handle when working from a macro.

shmuel 26.05.2014 20:22:56 +0200 - build 3924

1. Completion of refactoring started in 3896.

shmuel 26.05.2014 18:44:24 +0200 - build 3923

1. Continuation of 3896.

shmuel 25.05.2014 21:13:55 +0200 - build 3922

1. Continuation of 3896.

shmuel 25.05.2014 18:15:52 +0200 - build 3921

1. Continuation of 3896.

w17 25.05.2014 10:20:35 +0400 - build 3920

1. Another correction of 3913
   MLF_HOLDTARGET flag is added to plugin.h

shmuel 24.05.2014 20:04:56 +0200 - build 3919

1. Fix for nested macros.

shmuel 24.05.2014 17:25:47 +0200 - build 3918

1. Continuation of 3896.

w17 24.05.2014 14:16:12 +0400 - build 3917

1. Correction of 3913

drkns 24.05.2014 12:11:56 +0200 - build 3916

1. "Fix" symlinks back so far.

drkns 24.05.2014 10:03:45 +0200 - build 3915

1. 0002686: Debug build crashes in editor

shmuel 23.05.2014 19:52:03 +0200 - build 3914

1. Continuation of 3896.

w17 23.05.2014 15:50:39 +0400 - build 3913

1. M#2675: Symlink is created only with an absolute path. There is no possibility of specifying a relative path

shmuel 23.05.2014 01:44:13 +0200 - build 3912

1. Continuation of 3896.

shmuel 21.05.2014 23:35:44 +0200 - build 3911

1. Continuation of 3896.

shmuel 21.05.2014 18:07:34 +0200 - build 3910

1. Continuation of 3896.

drkns 18.05.2014 17:19:57 +0200 - build 3909

1. Rollback of 3908.1 until better times.

drkns 18.05.2014 16:22:09 +0200 - build 3908

1. Refactoring. Move out of macro.hpp everything that we can get by without.

2. GCC warning.

shmuel 17.05.2014 23:58:06 +0200 - build 3907

1. Continuation of 3896.

drkns 17.05.2014 14:43:09 +0200 - build 3906

1. Crash after selection of black&white color scheme.

zg 16.05.2014 14:27:13 +0200 - build 3905

1. after 3895 selection keys did not work in the command line.

drkns 15.05.2014 23:57:23 +0200 - build 3904

1. The search can now figure out the appropriate codepage.

drkns 15.05.2014 01:45:08 +0200 - build 3903

1. Correction of unicode text detection.

shmuel 15.05.2014 00:13:09 +0200 - build 3902

1. Continuation of 3896.

shmuel 14.05.2014 01:10:59 +0200 - build 3901

1. Correction of 3896 (FAR crash under some circumstances).

shmuel 13.05.2014 17:28:47 +0200 - build 3900

1. In 3896 the Plugin.Call return value was broken.

shmuel 13.05.2014 00:33:38 +0200 - build 3899

1. Continuation of 3896.

shmuel 12.05.2014 16:14:04 +0200 - build 3898

1. In 3896 the Plugin.Menu return value was broken.

zg 12.05.2014 13:39:44 +0200 - 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.

shmuel 12.05.2014 13:05:51 +0200 - build 3896

1. Refactoring of macro system.

zg 09.05.2014 00:19:23 +0200 - build 3895

1. refactoring of ProcessKey.

svs 08.05.2014 20:34:04 +0400 - 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>).

w17 08.05.2014 16:17:06 +0400 - build 3893

1. M#2667: FAR crash on "[A-Z\\]+" regexp

drkns 07.05.2014 00:00:37 +0200 - build 3892

1. Incorrect work of sorting by file extensions for files with ':' in names.

drkns 05.05.2014 19:03:55 +0200 - build 3891

1. Correction of 3890.

drkns 05.05.2014 18:52:24 +0200 - build 3890

1. "title" command added an excessive space to the caption.

svs 05.05.2014 16:48:11 +0400 - 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.

svs 05.05.2014 12:38:16 +0400 - build 3888

1. Mantis#0002523: 'title' command does not work with hodden panels

shmuel 04.05.2014 02:08:54 +0200 - build 3887

1. Rollback of 3885.

drkns 03.05.2014 19:13:31 +0200 - 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.

shmuel 03.05.2014 17:51:18 +0200 - 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.

zg 02.05.2014 03:16:49 +0200 - build 3884

1. rollback of 3883.

zg 01.05.2014 12:28:01 +0200 - build 3883

1. 0002657: Incorrect functioning on change of the last line of a file from a plugin.

svs 28.04.2014 16:43:42 +0400 - 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" :-))

svs 28.04.2014 15:11:54 +0400 - 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.

shmuel 28.04.2014 00:58:52 +0200 - build 3880

1. Correction of build 3770:
   lua:far.Show(...) showed one argument (nil) instead of none.

shmuel 26.04.2014 17:43:33 +0200 - 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.

shmuel 25.04.2014 21:32:52 +0200 - build 3878

1. Support for MoonScript in plugins API (docs are not updated yet).

svs 23.04.2014 14:14:46 +0400 - 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

drkns 22.04.2014 22:16:51 +0200 - build 3876

1. Editor.FileSizeLimitHi parameter is removed.

2. GUIDs of luamacro, arclite, netbox moved to config.

svs 22.04.2014 18:52:29 +0400 - 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

drkns 20.04.2014 17:14:22 +0200 - build 3874

1. Refactoring.

w17 19.04.2014 22:47:13 +0400 - build 3873

1. A bit more persistent persistent blocks in command line and dialog edit fields.

w17 18.04.2014 13:07:22 +0400 - build 3872

1. M#1465: Command line/dialog editors do not take plugin-made selection into account

drkns 18.04.2014 10:43:09 +0200 - build 3871

1. "Любимые кодовые страницы" -> "Избранные кодовые страницы".

drkns 17.04.2014 20:06:46 +0200 - build 3870

1. In 3868, virtual and subst drives detach confirmations were broken.

drkns 17.04.2014 19:24:04 +0200 - build 3869

1. More correct recognition of UTF8 / UTF16LE / UTF16BE.

svs 17.04.2014 11:00:21 +0400 - 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"


drkns 15.04.2014 22:31:59 +0200 - build 3867

1. Transition with +/- in viewer was broken in 3857.

svs 15.04.2014 12:37:20 +0400 - 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)


drkns 13.04.2014 12:41:13 +0200 - build 3865

1. Continuation of 0002645.

drkns 12.04.2014 19:15:45 +0200 - build 3864

1. Continuation of 0002645.

2. EditorF7Rules option is removed for consistency.

drkns 12.04.2014 14:26:37 +0200 - build 3863

1. 0002591: Time is not set in file attributes dialog.

drkns 12.04.2014 13:29:05 +0200 - 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

zg 11.04.2014 16:02:53 +0200 - build 3861

1. gcc warnings.

drkns 11.04.2014 08:32:40 +0200 - build 3860

1. Correction of 3859.1.

drkns 10.04.2014 22:20:10 +0200 - 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.

drkns 10.04.2014 09:18:34 +0200 - build 3858

1. A typo in 3857.

drkns 09.04.2014 22:19:59 +0200 - 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.

zg 09.04.2014 17:49:08 +0200 - build 3856

1. DN_ACTIVATEAPP is removed. use DN_INPUT+FOCUS_EVENT instead.

svs 09.04.2014 09:11:50 +0400 - 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.


svs 07.04.2014 16:26:57 +0400 - 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.


svs 07.04.2014 11:56:50 +0400 - 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.

drkns 05.04.2014 12:56:05 +0200 - 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.

svs 04.04.2014 16:50:40 +0400 - 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

w17 04.04.2014 16:07:24 +0400 - build 3850

1. M#2637: broken sorting by file creation date in panels

svs 04.04.2014 11:39:31 +0400 - build 3849

1. SQLite 3.8.4.3

drkns 04.04.2014 00:30:15 +0200 - build 3848

1. Refactoring.

svs 03.04.2014 21:49:06 +0400 - 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 :-)

drkns 30.03.2014 12:21:55 +0200 - build 3846

1. 0002628: Warning with incomprehensible choices

2. In 3843 keyboard control of combo boxes was broken.

drkns 29.03.2014 20:20:06 +0200 - 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.

svs 27.03.2014 10:14:07 +0400 - build 3844

1. SQLite 3.8.4.2

svs 27.03.2014 09:09:23 +0400 - 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.

drkns 23.03.2014 21:51:18 +0200 - build 3842

1. Refactoring.

shmuel 22.03.2014 21:27:21 +0200 - build 3841

1. Correction of 3838 (DM_GETDIALOGTITLE).

drkns 21.03.2014 20:28:49 +0200 - build 3840

1. Moving DN_DRAWDLGITEMDONE to a correct place.

svs 21.03.2014 16:28:10 +0400 - 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)

svs 21.03.2014 13:59:21 +0400 - 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.


svs 19.03.2014 16:17:34 +0400 - 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

svs 18.03.2014 15:20:34 +0400 - build 3836

1. GUID for the login and password duery 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!>


svs 14.03.2014 12:20:09 +0400 - 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.

svs 13.03.2014 20:13:49 +0400 - 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

drkns 13.03.2014 11:55:36 +0200 - build 3833

1. After 3819 the logical binding of the dialog items did not work.

zg 13.03.2014 02:20:45 +0200 - build 3832

1. 0002620: Stuck Shift key when sending ECTL_PROCESSINPUT.

svs 12.03.2014 16:03:57 +0400 - 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)

svs 11.03.2014 10:24:41 +0400 - 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.


svs 10.03.2014 22:56:53 +0400 - build 3829

1. SQLite 3.8.4

drkns 10.03.2014 19:37:56 +0200 - 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.

drkns 10.03.2014 01:28:52 +0200 - build 3827

1. Another couple of drawing optimizations.

drkns 10.03.2014 01:08:07 +0200 - build 3826

1. A very old bug, introduced in 2.0.1077.
   In some cases the optimization worked not as expected and caused slowdown.

shmuel 09.03.2014 15:08:27 +0200 - 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).

shmuel 08.03.2014 23:07:41 +0200 - build 3824

1. Forum: FSF.TruncStr() returns incorrect result.

zg 08.03.2014 18:40:47 +0200 - build 3823

1. correction of 3821. for DM_GETFOCUS and DM_LISTADDSTR -1 is returned if there is no dialog.

drkns 07.03.2014 02:38:36 +0200 - build 3822

1. VC10 fix.

2. Warning.

zg 07.03.2014 02:13:56 +0200 - build 3821

1. 0002614: SendDlgMessage: fix for crash on invalid hDlg.

drkns 05.03.2014 22:41:01 +0200 - build 3820

1. 0002604: Translate in file menu Add, Subtract, Multiply...

drkns 04.03.2014 01:22:32 +0200 - build 3819

1. Forum: long to short names conversion did not work for file names longer than 255 characters.

2. Refactoring.

shmuel 02.03.2014 09:53:50 +0200 - build 3818

1. Custom sorting in panels: indication of current sorting mode would not be drawn on an empty panel in some cases.

shmuel 21.02.2014 18:11:56 +0200 - build 3817

1. M#0002607. Another correction.

svs 21.02.2014 08:05:46 +0400 - build 3816

1. Mantis#0002607. Correction.
   DM_SETITEMPOSITION returns false with wrong coordinates given.

svs 20.02.2014 21:33:03 +0400 - build 3815

1. Mantis#0002607: DM_SETITEMPOSITION causes FAR crash if Right < Left - 1

w17 19.02.2014 16:59:31 +0400 - build 3814

1. M#2605: Memory freed after editing

w17 18.02.2014 18:54:03 +0400 - build 3813

1. fix $#nn (from the forum)

drkns 17.02.2014 22:47:09 +0200 - build 3812

1. 0002603: Crash on FCTL_GETCURRENTPANELITEM called with PTYPE_QVIEWPANEL and PTYPE_INFOPANEL

2. Refactoring.

drkns 17.02.2014 00:03:05 +0200 - build 3811

1. Correction of 3810.

drkns 16.02.2014 19:18:25 +0200 - build 3810

1. Flags 0x10 and 0x20 were set incorrectly in Editor.State.

2. Incorrect change of UI language.

3. Refactoring.

drkns 15.02.2014 13:30:44 +0200 - build 3809

1. Third party libraries (UCD, sqlite, tinyxml) moved to thirdparty.

drkns 14.02.2014 19:33:07 +0200 - build 3808

1. 0002600: Far doesn't load plugins with the same dll-name

svs 14.02.2014 09:40:25 +0400 - build 3807

1. SQLite 3.8.3.1

drkns 13.02.2014 20:56:37 +0200 - 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.

drkns 13.02.2014 00:23:02 +0200 - build 3805

1. VC10.

drkns 13.02.2014 00:10:00 +0200 - 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.

shmuel 12.02.2014 18:00:50 +0200 - build 3803

1. Uninitialized state of "Size" checkbox in file filter creation dialog.

w17 11.02.2014 17:41:29 +0400 - build 3802

1. Correction of 3801

w17 11.02.2014 13:59:15 +0400 - build 3801

1. Long names in deletion dialog (from the forum)

drkns 08.02.2014 12:39:25 +0200 - build 3800

1. 0002577: Block shift does not work for one character line

zg 08.02.2014 03:38:56 +0200 - 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."

zg 06.02.2014 23:38:11 +0200 - 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.

w17 06.02.2014 01:14:29 +0400 - build 3797

1. vc++ 2010 fix

drkns 05.02.2014 20:45:24 +0200 - build 3796

1. Correction of 3794.

svs 05.02.2014 12:25:36 +0400 - build 3795

1. SQLite 3.8.3

drkns 05.02.2014 09:43:50 +0200 - build 3794

1. Analyzer warnings.

2. Refactoring.

drkns 03.02.2014 20:20:22 +0200 - build 3793

1. 0002593: Far Manager v3.0 build 3791 x86 (3792) block selection works incorrectly.

drkns 03.02.2014 08:35:23 +0200 - build 3792

1. Correction of 3791.

drkns 02.02.2014 17:48:43 +0200 - build 3791

1. Refactoring.

3. Overloading of new/delete is removed in Release and corrected in Debug.

3. PVS & cppcheck warnings.

drkns 31.01.2014 08:42:27 +0200 - build 3790

1. 0002588: After directory change in a dialog and Enter key press, the former directory is opened

drkns 29.01.2014 23:43:43 +0200 - build 3789

1. For the sake of perfectionism, do not query info on codepages till needed.

shmuel 29.01.2014 18:45:16 +0200 - build 3788

1. Refactoring in macro system.

zg 27.01.2014 21:37:49 +0200 - build 3787

1. 0002579: DM_GETTEXT returns garbage in some cases (LuaFAR)

drkns 27.01.2014 21:09:26 +0200 - build 3786

1. 0002578: Memory allocation issue when searching with a filter

zg 25.01.2014 04:09:09 +0200 - build 3785

1. 0002567: browsing an archive after search
   SetDirectoryW was passed a path with a trailing slash.

drkns 21.01.2014 22:47:59 +0200 - build 3784

1. 0002568: Exception on attempt of entering a string into fields designed for numeric values

w17 21.01.2014 23:14:25 +0400 - build 3783

1. M#2569: Incorrect functioning of AltM shortcut in Viewer settings dialog

shmuel 21.01.2014 19:26:55 +0200 - build 3782

1. Refactoring in macro system.

drkns 19.01.2014 23:03:16 +0200 - build 3781

1. #0002294: Unused code is removed.

drkns 19.01.2014 21:18:14 +0200 - build 3780

1. Correction of 3779.

drkns 19.01.2014 19:58:42 +0200 - build 3779

1. PVS & cppcheck warnings.

2. Refactoring.

drkns 19.01.2014 02:39:29 +0200 - build 3778

1. Refactoring.

shmuel 18.01.2014 20:50:43 +0200 - build 3777

1. Refactoring in macro system.

w17 17.01.2014 14:12:54 +0400 - 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)

drkns 17.01.2014 09:50:47 +0200 - build 3775

1. Correction of 3774.

drkns 16.01.2014 22:11:50 +0200 - build 3774

1. 0002565: Regression with privilege escalation and folder reading

2. Refactoring.

w17 15.01.2014 16:38:20 +0400 - build 3773

1. Continuation of b3771

shmuel 14.01.2014 19:24:08 +0200 - build 3772

1. Refactoring in macro system.

w17 14.01.2014 16:58:53 +0400 - build 3771

1. M#2556: Crash in Help if macro has lots of keys assigned

shmuel 14.01.2014 11:15:34 +0200 - build 3770

1. Refactoring in macro system.

w17 13.01.2014 00:08:49 +0400 - build 3769

1. M#2558: Undo does not take file save into account (from CyberShadow)

drkns 12.01.2014 13:24:37 +0200 - build 3768

1. Correction of 3767.

drkns 12.01.2014 00:21:01 +0200 - 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.

shmuel 11.01.2014 23:43:43 +0200 - build 3766

1. M#2551: Object.Height/Width do not work in menu.

drkns 09.01.2014 00:20:44 +0200 - build 3765

1. Correction of 3752 for plugin panels.

drkns 08.01.2014 19:43:29 +0200 - build 3764

1. After 3751, hidden files on a plugin panel were shown incorrectly.

drkns 06.01.2014 17:13:09 +0200 - build 3763

1. Use OS version checks recommended by MS instead of deprecated GetVersionEx.

2. Use native thread_local in gcc.

drkns 05.01.2014 22:55:23 +0200 - build 3762

1. VC10.

drkns 05.01.2014 19:39:38 +0200 - build 3761

1. 0002553: Useless hotkeys F3/F4 in commands history (Alt-F8)

shmuel 05.01.2014 19:22:10 +0200 - build 3760

1. Refactoring of custom sorting.

drkns 03.01.2014 13:37:10 +0200 - build 3759

1. Continuation of 3756: allocations are removed, the code is slightly simplified.

drkns 03.01.2014 11:23:21 +0200 - build 3758

1. Correction of 3752.

t-rex 03.01.2014 11:08:14 +0200 - build 3757

1. Memory leak in 3756.

t-rex 03.01.2014 04:59:02 +0200 - build 3756

1. Fix for custom sorting, this is made ugly to pay attention on it.

drkns 03.01.2014 04:00:21 +0200 - build 3755

1. "Restore" custom sorting modes.

drkns 02.01.2014 18:06:05 +0200 - build 3754

1. Optimization of inner classes moving.

drkns 02.01.2014 04:33:52 +0200 - build 3753

1. Continuation of 3752.

drkns 02.01.2014 02:55:55 +0200 - build 3752

1. Optimization similar to 3401: each file panel item occupies about 200 bytes of memory less.

drkns 31.12.2013 16:06:31 +0200 - build 3751

1. Refactoring.

2. Correction of 3749.

3. ShiftF9 always forces settings save "with no heuristics nor optimization".

drkns 31.12.2013 03:05:45 +0200 - build 3750

1. F4 in mask groups menu crashed FAR.

drkns 31.12.2013 00:38:12 +0200 - build 3749

1. Refactoring.

drkns 30.12.2013 21:25:21 +0200 - build 3748

1. Refactoring.

drkns 26.12.2013 19:36:19 +0200 - build 3747

1. Correction of 3746.

drkns 26.12.2013 01:21:42 +0200 - build 3746

1. Refactoring.

drkns 21.12.2013 22:00:20 +0200 - build 3745

1. Correction of 3744.1.

drkns 21.12.2013 21:20:13 +0200 - build 3744

1. Refactoring.

2. Memory leaks when started with /v or /e keys.

drkns 15.12.2013 04:54:32 +0200 - build 3743

1. Correction of 3738.

drkns 13.12.2013 22:15:29 +0200 - build 3742

1. Correction of 3738.

svs 13.12.2013 12:06:12 +0400 - build 3741

1. Mantis#0002545: GUID for the plugin parameters menu

    PluginsConfigMenuId   =  {B4C242E7-AA8E-4449-B0C3-BD8D9FA11AED} --> Menu.Id

drkns 13.12.2013 09:23:31 +0200 - build 3740

1. Correction of 3738.

drkns 13.12.2013 01:21:33 +0200 - build 3739

1. VC10 fix.

drkns 13.12.2013 00:57:54 +0200 - build 3738

1. Refactoring.

drkns 09.12.2013 20:56:45 +0200 - build 3737

1. Files highlighting was broken in 3733.

w17 09.12.2013 14:03:54 +0400 - build 3736

1. Correction of 3678 (M#2496)

w17 09.12.2013 13:43:23 +0400 - build 3735

1. M#2543: incorrect functioning of Panel.SetPosIdx when panel filter is on

svs 09.12.2013 10:55:43 +0400 - build 3734

1. SQLite 3.8.2

drkns 08.12.2013 23:04:44 +0200 - build 3733

1. Refactoring.

svs 06.12.2013 14:31:24 +0400 - 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.

svs 05.12.2013 17:07:29 +0400 - build 3731

1. Mantis#0002537: a list with DIF_LISTNOBOX flag in dialog shows unusual scrolling
   ...similar behavior was for PgDn

svs 05.12.2013 14:43:33 +0400 - build 3730

1. SysLog. Output file is in UTF-8; correction of file open/close (with debug info on app close)

drkns 04.12.2013 20:32:29 +0200 - build 3729

1. Refactoring.

2. syslog used wrong *printf functions.

zg 29.11.2013 21:29:21 +0200 - build 3728

1. fg4bit and bg4bit switched places in import/export.

drkns 27.11.2013 22:00:17 +0200 - build 3727

1. 0002533: Xlat settings cannot be read on Far start

drkns 27.11.2013 21:13:16 +0200 - build 3726

1. 0002535: Crash when opening History in a small EditBox

drkns 26.11.2013 23:03:45 +0200 - build 3725

1. A couple of corrections in 3723.

drkns 25.11.2013 01:55:45 +0200 - build 3724

1. A couple of corrections in 3723.

drkns 24.11.2013 21:37:36 +0200 - build 3723

1. Refactoring.

2. Wiping unused code.

w17 21.11.2013 21:10:00 +0400 - build 3722

1. Exception on CtrlJ/C/F in panel when the cursor is on '..'

shmuel 21.11.2013 17:11:54 +0200 - build 3721

1. Correction of build 3708 (M#2440).

w17 20.11.2013 13:48:49 +0400 - build 3720

1. M#2527: Crash when restarting with rebuilding tree(fix b3673.2)

drkns 19.11.2013 21:18:07 +0200 - build 3719

1. 0002528: Crash when LCtrl8 panel mode is on

﻿svs 18.11.2013 15:42:46 +0400 - build 3718

1. Corrections on TREEFILE_PROJECT (Mantis#0000186)

w17 18.11.2013 11:37:28 +0400 - build 3717

1. Correction of 3713 (do not store duplicate commands from different folders)

shmuel 16.11.2013 17:17:31 +0200 - build 3716

1. Correction of 3713.

shmuel 16.11.2013 16:55:01 +0200 - build 3715

1. Correction of 3714.

shmuel 16.11.2013 14:54:12 +0200 - build 3714

1. An event type in added in Panel API: FE_CHANGESORTPARAMS.

w17 16.11.2013 03:05:43 +0400 - build 3713

1. M#2208: Memorize the folder a command was launched at (from fml2)

svs 15.11.2013 17:39:24 +0400 - build 3712

1. Corrections (some) on TREEFILE_PROJECT (Mantis#0000186)
   concerning network paths

svs 15.11.2013 15:35:21 +0400 - 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>

w17 13.11.2013 01:12:09 +0400 - build 3710

1. M#2524: Crash when renaming a file on Mac network drive.
   Experimental workaround for buggy OSX SMB.

w17 12.11.2013 20:11:28 +0400 - build 3709

1. M#2525: Incorrect clipping of edited file on Mac network drive
   Experimental workaround for buggy OSX SMB.

svs 11.11.2013 11:16:52 +0400 - build

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.

shmuel 08.11.2013 18:47:05 +0200 - build 3708

1. M#2440: akey(1) and single modifier key press.

drkns 03.11.2013 01:25:39 +0200 - build 3707

1. 0002521: Far crash on 'My Documents' ANSI plugin start, since build 3506

shmuel 02.11.2013 21:39:35 +0200 - build 3706

1. Find file (AltF7): crash when searching on a non-file plugin panel.

drkns 31.10.2013 22:34:33 +0200 - 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.

w17 31.10.2013 02:35:53 +0400 - build 3704

1. Continuation of 3703: pressing and holding a key cancels deletion

w17 30.10.2013 23:41:30 +0400 - build 3703

1. M#2419: Two almost identical confirmation dialogs for deletion of multiple files (from SEt)

w17 28.10.2013 06:51:10 +0400 - build 3702

1. Forum: 'Use sort groups' and 'Show selected first' cannot be forced on/off

drkns 26.10.2013 21:11:58 +0200 - build 3701

1. Refactoring.

drkns 25.10.2013 09:03:21 +0200 - build 3700

1. Correction of 3699.

drkns 24.10.2013 22:22:03 +0200 - build 3699

1. 0002517: Invalid line number supplied in "Go to position" dialog crashes Far Manager

w17 22.10.2013 22:30:45 +0400 - build 3698

1. M#2513: FAR crash on files with empty names (from SEt)

svs 18.10.2013 11:41:12 +0400 - build 3697

1. SQLite 3.8.1

w17 18.10.2013 00:23:12 +0400 - build 3696

1. Correction of 3300

drkns 07.10.2013 20:28:43 +0200 - build 3695

1. Forgotten lancet inside 3694.

drkns 07.10.2013 20:15:52 +0200 - build 3694

1. Once more on obtaining the caption of the console.

w17 07.10.2013 14:31:23 +0400 - build 3693

1. M#2505: duplication of Japanese characters after command run

drkns 06.10.2013 13:26:56 +0200 - build 3692

1. Entering some characters in the drive change dialog could cause AV.

drkns 04.10.2013 22:29:28 +0200 - build 3691

1. Another correction on CtrlZ in the editor.

2. Refactoring.

drkns 04.10.2013 14:12:40 +0200 - build 3690

1. Correction of 3654.

drkns 04.10.2013 12:40:35 +0200 - build 3689

1. Correction of 3659.

w17 04.10.2013 07:04:27 +0400 - 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.

drkns 02.10.2013 12:44:54 +0200 - build 3687

1. Watch for date/time format change dynamically.

drkns 02.10.2013 11:23:30 +0200 - build 3686

1. For a date format beginning with the year it was shown without leading zero.

drkns 01.10.2013 18:51:46 +0200 - 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.

w17 27.09.2013 18:12:55 +0400 - build 3684

1. M#2499: Exception while trying to search for a file in the viewer mode

2. Editor Clipboard paste fix.vc10

svs 26.09.2013 13:02:27 +0400 - build 3683

1. Policies are removed (Policies.DisabledOptions)

drkns 25.09.2013 00:08:15 +0200 - build 3682

1. 0002498: Filter cannot be disabled if there are same extensions with a different case

w17 25.09.2013 00:36:10 +0400 - build 3681

1. correction of 3680

drkns 24.09.2013 22:10:50 +0200 - build 3680

1. 0002497: If down arrow is pressed and held on any but last menu item then the cursor runs off the menu.

w17 23.09.2013 20:33:42 +0400 - build 3679

1. M#2495: [Folders history] In the absence of an appropriate plug-in history an empty string is shown.
   (from Denis)

w17 23.09.2013 19:54:36 +0400 - build 3678

1. M#2496: Disable hotkeys highlighting in history for its slowness on large number of items
   (from Denis)

shmuel 22.09.2013 20:02:30 +0200 - 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.

drkns 22.09.2013 15:28:35 +0200 - build 3676

1. 0002492: Editor CtrlZ once more.

drkns 22.09.2013 15:24:17 +0200 - build 3675

1. 0002492: Editor CtrlZ

2. Refactoring.

shmuel 21.09.2013 11:50:29 +0200 - build 3674

1. Refactoring.

drkns 20.09.2013 23:50:03 +0200 - build 3673

1. Refactoring.

2. Folder tree manual update caused a crash.

drkns 20.09.2013 17:09:53 +0200 - build 3672

1. Refactoring.

w17 20.09.2013 16:53:54 +0400 - build 3671

1. vc10 build fix

drkns 20.09.2013 14:21:44 +0200 - build 3670

1. Correction of 3668.

drkns 20.09.2013 13:56:44 +0200 - build 3669

1. Refactoring.

drkns 19.09.2013 20:07:18 +0200 - build 3668

1. Refactoring.

drkns 19.09.2013 13:31:43 +0200 - build 3667

1. Correction of 3666.

drkns 19.09.2013 09:49:54 +0200 - build 3666

1. Correction of 3656.

2. gcc warnings.

drkns 19.09.2013 09:31:02 +0200 - build 3665

1. 0002490: Editor kills end of line since ver. 3659

shmuel 19.09.2013 00:01:45 +0200 - build 3664

1. M#2486: Enable Plugin.Call use in Condition.
   Plugin.SyncCall macrofunction added, see macroapi_manual.chm.

drkns 18.09.2013 23:15:01 +0200 - build 3663

1. Refactoring.

drkns 18.09.2013 18:43:08 +0200 - build 3662

1. Refactoring.

w17 18.09.2013 17:12:50 +0400 - build 3661

1. Correction of 3660 (from Denis)

w17 18.09.2013 13:23:02 +0400 - 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 17.09.2013 20:50:44 +0200 - build 3659

1. Refactoring.

w17 17.09.2013 11:41:16 +0400 - build 3658

1. Forum: Malfunction of clipboard clear test

drkns 17.09.2013 00:07:58 +0200 - build 3657

1. Refactoring.

drkns 16.09.2013 21:51:26 +0200 - build 3656

1. Do not create directories in the profile if ReadOnlyConfig==true.

shmuel 16.09.2013 20:04:27 +0200 - 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.

drkns 16.09.2013 00:29:14 +0200 - 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.

drkns 15.09.2013 21:06:55 +0200 - build 3653

1. Refactoring.

shmuel 15.09.2013 21:01:09 +0200 - build 3652

1. Refactoring.

w17 12.09.2013 21:07:14 +0400 - build 3651

1. M#2483: '&' modifiers do not work in main menu.

drkns 12.09.2013 14:23:24 +0200 - build 3650

1. 0002482: FAR crash on attempt of copying files with privilege elevation.

2. A couple of minor issues.

drkns 11.09.2013 23:06:23 +0200 - build 3649

1. Refactoring.

shmuel 10.09.2013 23:57:52 +0200 - build 3648

1. PluginPanelItemEx renamed to SortingPanelItem.

shmuel 10.09.2013 23:10:05 +0200 - build 3647

1. Custom panel sortings use PluginPanelItemEx structure instead of PluginPanelItem.
   (This is the breaking change, so check your code).

drkns 10.09.2013 20:40:20 +0200 - build 3646

1. Refactoring.

shmuel 10.09.2013 11:17:28 +0200 - build 3645

1. Custom panel sortings did not get 'ChangeTime' value.

2. GCC warnings.

shmuel 10.09.2013 10:43:17 +0200 - build 3644

1. Correction of 3643.

drkns 10.09.2013 09:48:29 +0200 - build 3643

1. Refactoring.

shmuel 08.09.2013 20:14:02 +0200 - build 3642

1. In 3641, sorting direction was broken when chosing a sorting mode via CtrlF12 menu on Enter press.

drkns 08.09.2013 17:30:27 +0200 - build 3641

1. Refactoring.

2. cppcheck warnings.

3. correction of "folder sorting by extension" mode.

drkns 06.09.2013 13:04:00 +0200 - build 3640

1. Forum: "Somewhere between 3597-3635 a crash is observed on attempt to call "Continue" of S&R plugin in editor."

shmuel 05.09.2013 22:41:24 +0200 - build 3639

1. Refactoring.

drkns 05.09.2013 13:47:00 +0200 - build 3638

1. A couple of corrections of 3636.

w17 05.09.2013 00:25:22 +0400 - build 3637

1. VC10 build fix.

2. -warnings.

drkns 04.09.2013 21:41:29 +0200 - build 3636

1. Refactoring.

2. cppcheck warnings.

shmuel 04.09.2013 19:31:48 +0200 - build 3635

1. Panel sorting menu (CtrlF12) also includes custom sorting modes if they exist.

w17 04.09.2013 12:57:16 +0400 - 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)

drkns 04.09.2013 00:06:16 +0200 - build 3633

1. When copying to several targets, the taskbar button blinked after each operation.

svs 03.09.2013 23:42:01 +0400 - build 3632

1. SQLite 3.8.0.2

shmuel 03.09.2013 14:58:38 +0200 - 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. Slightly refactoring.

shmuel 02.09.2013 11:19:10 +0200 - build 3630

1. FSF.CopyToClipboard() clears the clipboard if Data==NULL.

shmuel 02.09.2013 07:25:59 +0200 - build 3629

1. FSF.CopyToClipboard function did not copy empty strings.

zg 31.08.2013 04:12:54 +0200 - build 3628

1. forum: Crash on PCTL_GETPLUGININFORMATION call.

drkns 30.08.2013 22:53:31 +0200 - build 3627

1. Sending messages to a dialog before DialogRun call could cause a crash.

w17 29.08.2013 16:08:18 +0400 - build 3626

1. Correction of 3261, DialogBuilder update

drkns 29.08.2013 10:01:04 +0200 - build 3625

1. Incorrect handling of OPEN_FINDLIST call for ansi plugins.

t-rex 28.08.2013 20:06:09 +0200 - build 3624

1. Correction of 3621, using DialogBuilder.

t-rex 28.08.2013 16:35:28 +0200 - build 3623

1. Correction of 3621

2. sqlite 3.8.0

w17 28.08.2013 17:24:35 +0400 - build 3622

1. Correction of 3621

w17 28.08.2013 14:59:22 +0400 - build 3621

1. Error text wrapping in ChDiskDlg error dialog

shmuel 20.08.2013 20:54:52 +0200 - 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.

t-rex 19.08.2013 14:09:16 +0200 - build 3619

1. $ at the end of the replace string in regexp search inserted \x00 instead of being ignored.

drkns 18.08.2013 13:22:27 +0200 - build 3618

1. Screen buffer could use more memory than it was necessary.

shmuel 17.08.2013 11:56:31 +0200 - build 3617

1. M#2468: incorrect working of Editor.Value and Editor.GetStr() if the string contains \x00.

drkns 17.08.2013 01:36:21 +0200 - build 3616

1. Correction of 1947.1 - copying strings from the position after zero character to the clipboard caused crash.

t-rex 16.08.2013 23:42:58 +0200 - build 3615

1. Mantis#2465: \x00 character breaks regexp search/replace.

svs 15.08.2013 12:09:54 +0400 - build 3614

1. Continuation of Mantis#0002442
   (from Smitis)

svs 15.08.2013 10:42:32 +0400 - build 3613

1. Correction of System.Executor.ComSpecParams - adding space symbols.

shmuel 15.08.2013 00:28:27 +0200 - build 3612

1. Refactoring.

svs 14.08.2013 18:52:13 +0400 - 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

drkns 14.08.2013 09:40:14 +0200 - build 3610

1. Warnings.

w17 14.08.2013 04:32:30 +0400 - build 3609

1. Continuation of 3602

w17 12.08.2013 18:51:45 +0400 - build 3608

1. M#2462: Cannot change to root of a volume with cd\

2. -warnings

shmuel 10.08.2013 19:41:07 +0200 - build 3607

1. Continuation of 3604: custom sorting in panels is now working.
   See the description of Panel.SetCustomSortMode function in macroapi_manual.chm.

drkns 10.08.2013 18:58:13 +0200 - 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.

drkns 09.08.2013 22:32:07 +0200 - build 3605

1. Plugins loading correction.

2. Correction of panel caption drawing.

3. Uninitialized variables in copier.

shmuel 09.08.2013 20:01:49 +0200 - build 3604

1. Custom sorting in panels. Still non-operating.

w17 09.08.2013 11:15:48 +0400 - build 3603

1. Continuation of 3602. GetPathRoot worked incorrectly for mountpoints in XP

w17 09.08.2013 04:54:02 +0400 - build 3602

1. M#2461: auto-create directory on the file system mounted via NTFS folder

drkns 08.08.2013 21:19:33 +0200 - build 3601

1. Correction of 3597.

w17 08.08.2013 17:46:03 +0400 - build 3600

1. Codepage names and typo (from Denis)

drkns 08.08.2013 14:46:51 +0200 - build 3599

1. URL open from help could malfunction in some cases.

drkns 07.08.2013 23:21:18 +0200 - build 3598

1. far:config poor handling of 64 bit numbers.

2. Continuing to remove FormatString.

drkns 07.08.2013 01:40:10 +0200 - 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.

drkns 06.08.2013 19:28:53 +0200 - build 3596

1. Implementing plugin adapters.
   See http://forum.farmanager.com/viewtopic.php?t=8114 for details, the description of interface is also there.

shmuel 06.08.2013 11:44:50 +0200 - build 3595

1. In "Unsorted" panel sorting mode, when "Show selected first" option was on, selected files
   were shown last instead of first.

w17 05.08.2013 14:27:36 +0400 - build 3594

1. Missing menu item for Panel.Text.Highlight config parameter in color settings menu (from ccaid)

w17 05.08.2013 09:33:40 +0400 - build 3593

1. Directories were deleted to recycle bin with Alt-Del

drkns 04.08.2013 16:11:41 +0200 - build 3592

1. Resource leak on cancelling the plugin choice menu (CtrlPgDn).

zg 04.08.2013 00:11:41 +0200 - build 3591

1. DN_INPUT now receives FOCUS_EVENT.

zg 01.08.2013 18:40:31 +0200 - build 3590

1. PluginStartupInfo.Menu crash if Title == nullptr.

drkns 01.08.2013 14:50:21 +0200 - build 3589

1. Incorrect order of owner and domain in "file owner" column.

drkns 31.07.2013 21:56:29 +0200 - build 3588

1. More on string and nullptr.

drkns 30.07.2013 20:58:19 +0200 - build 3587

1. Refactoring.

drkns 30.07.2013 19:28:34 +0200 - build 3586

1. Continuation of 3582.

w17 30.07.2013 18:13:20 +0400 - build 3585

1. fix copy to ..

drkns 30.07.2013 14:26:32 +0200 - build 3584

1. Possible double memory freeing while obtaining a list from a plugin panel.

2. ProcessOSAliases could use uninitialized data.

drkns 30.07.2013 10:31:31 +0200 - build 3583

1. Correction of 3579.

drkns 30.07.2013 00:55:42 +0200 - build 3582

1. Refactoring.

drkns 29.07.2013 14:50:21 +0200 - build 3581

1. The caption of the right panel was centered incorrectly when the clock was enabled.

drkns 28.07.2013 22:22:24 +0200 - build 3580

1. Correction of previous build, there were problems with copying.

drkns 28.07.2013 19:55:27 +0200 - build 3579

1. More on correct processing of "." and ".." directories - looping is removed at tree including them.

drkns 28.07.2013 16:34:30 +0200 - build 3578

1. More on search for all occurrences.

drkns 28.07.2013 15:56:53 +0200 - build 3577

1. Correction of 3570.2.

w17 28.07.2013 15:17:50 +0400 - build 3576

1. Another correction of 3475

drkns 28.07.2013 13:41:01 +0200 - build 3575

1. 0002453: FAR freeze on directories delete

drkns 28.07.2013 12:36:50 +0200 - 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.

shmuel 28.07.2013 10:09:10 +0200 - build 3573

1. Crash on copying with F5 to ..\.. target directory

w17 28.07.2013 00:34:28 +0400 - build 3572

1. correction of 3475

shmuel 27.07.2013 18:36:26 +0200 - build 3571

1. More NullToEmpty (FAR crash with Hash Calculator plugin).

drkns 27.07.2013 16:48:32 +0200 - build 3570

1. Wrong error text was shown at attempt of changing to inexisting volume.

2. A couple of issues in wrapper.

drkns 27.07.2013 13:30:05 +0200 - build 3569

1. 0002452: Can't add new Mask to 'Groups of file masks' (since ver3566)

shmuel 27.07.2013 12:00:50 +0200 - build 3568

1. More NullToEmpty (FAR crash with AdvCmp plugin).

shmuel 27.07.2013 07:27:14 +0200 - build 3567

1. Crash on disk menu call.

2. GCC warnings.

w17 27.07.2013 01:23:56 +0400 - build 3566

1. -a few 'funny' crashes

drkns 26.07.2013 23:18:26 +0200 - build 3565

1. Placing NullToEmpty in right places.

drkns 26.07.2013 22:25:11 +0200 - build 3564

1. Placing NullToEmpty in right places.

drkns 26.07.2013 21:44:01 +0200 - build 3563

1. wstring is on by default. Various funny crashes are possible.

drkns 26.07.2013 21:05:55 +0200 - build 3562

1. GetStringBuffer = 0;

2. In one of previous builds, plugin settings import was broken.

3. "information under panels" was not kept on exit.

shmuel 26.07.2013 17:46:54 +0200 - 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.

drkns 25.07.2013 23:52:08 +0200 - build 3560

1. --GetStringBuffer

drkns 25.07.2013 23:04:09 +0200 - build 3559

1. --GetStringBuffer

drkns 25.07.2013 22:19:25 +0200 - build 3558

1. --GetStringBuffer

drkns 25.07.2013 21:32:10 +0200 - build 3557

1. --GetStringBuffer

w17 25.07.2013 12:23:31 +0400 - build 3556

1. fix fix 3551

w17 25.07.2013 11:11:29 +0400 - build 3555

1. fix 3551

w17 25.07.2013 10:55:50 +0400 - build 3554

1. GetStringBuffer -= 1

drkns 24.07.2013 22:04:58 +0200 - build 3553

1. --GetStringBuffer

drkns 24.07.2013 21:40:54 +0200 - build 3552

1. GetStringBuffer -= 2;

2. Refactoring array_ptr.

w17 24.07.2013 22:18:55 +0400 - build 3551

1. GetStringBuffer -= 2

drkns 24.07.2013 17:54:45 +0200 - build 3550

1. Incorrect display of date in filter settings for locales using YYYY-MM-DD format.

drkns 24.07.2013 12:33:57 +0200 - build 3549

1. --GetStringBuffer

w17 24.07.2013 12:43:43 +0400 - build 3548

1. GetStringBuffer -= 4

w17 24.07.2013 07:36:17 +0400 - build 3547

1. mf.date() UPPER

drkns 23.07.2013 23:38:13 +0200 - build 3546

1. mf.date() was broken in one of previous builds + a couple of issues.

w17 24.07.2013 00:07:21 +0400 - build 3545

1. GetStringBuffer -= 1

drkns 23.07.2013 12:20:54 +0200 - build 3544

1. Garbage could be shown in some columns of disk menu.

drkns 23.07.2013 01:05:58 +0200 - build 3543

1. Refactoring.

drkns 22.07.2013 22:15:54 +0200 - build 3542

1. Refactoring.

w17 22.07.2013 22:58:09 +0400 - build 3541

1. assertion -- lm:post Keys "a"

drkns 22.07.2013 20:24:28 +0200 - build 3540

1. 0002449: FAR crash on exit initiated by a macro

drkns 20.07.2013 22:22:03 +0200 - build 3539

1. Correction of 3528.

drkns 20.07.2013 21:45:17 +0200 - build 3538

1. Continuation of 3528.

drkns 20.07.2013 19:28:48 +0200 - build 3537

1. Continuation of 3528.

drkns 20.07.2013 19:14:34 +0200 - build 3536

1. Correction of 3535.

drkns 20.07.2013 19:05:41 +0200 - build 3535

1. Continuation of 3528.

drkns 20.07.2013 16:57:35 +0200 - build 3534

1. Continuation of 3528.

drkns 20.07.2013 14:15:36 +0200 - build 3533

1. Continuation of 3528.

w17 20.07.2013 12:51:48 +0400 - build 3532

1. more 3528, CtrlPgDn on files

w17 20.07.2013 11:51:56 +0400 - build 3531

1. more 3528, waiting when refactorness gets rid from deprecated...

drkns 20.07.2013 01:16:35 +0200 - build 3530

1. Continuation of 3528.

shmuel 19.07.2013 22:08:55 +0200 - build 3529

1. Correction of 3509 for End key.

drkns 19.07.2013 20:22:50 +0200 - 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.

svs 18.07.2013 15:57:44 +0400 - 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?

drkns 18.07.2013 14:10:32 +0200 - build 3526

1. Files were copied to clipboard incorrectly in CF_HDROP format.

shmuel 17.07.2013 21:51:48 +0200 - build

1. On macros loading %FARPROFILE%\Macros\scripts\_macroinit.lua is executed first if it exists.
   The running order of other macro files is undefined.

drkns 17.07.2013 15:19:59 +0200 - build 3525

1. Continuation of M#2446: EE_SAVE gets a EditorSaveFile structure instead of a file name.

shmuel 16.07.2013 14:59:58 +0200 - build 3524

1. M#2446: EE_SAVE event must be passed the saved file name as a parameter.

drkns 14.07.2013 19:12:10 +0200 - build 3523

1. refix refix. yes, memset is kinda bad.

w17 14.07.2013 20:05:25 +0400 - build 3522

1. refix refactoring

drkns 14.07.2013 17:33:21 +0200 - build 3521

1. Support for compilation with Intel C++ 14.

drkns 14.07.2013 12:17:59 +0200 - build 3520

1. Correction of 3519.

drkns 14.07.2013 01:00:31 +0200 - build 3519

1. Refactoring.

shmuel 14.07.2013 00:25:05 +0200 - 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.

drkns 13.07.2013 13:00:15 +0200 - build 3517

1. Refactoring.

2. Solution for VS2013 + common far.vcxproj for all versions.

shmuel 13.07.2013 11:34:23 +0200 - build 3516

1. Refactoring.

drkns 13.07.2013 00:00:00 +0200 - build 3515

1. Refactoring.

shmuel 12.07.2013 21:16:04 +0200 - build 3514

1. Refactoring.

drkns 12.07.2013 12:49:43 +0200 - build 3513

1. Removed checks for deprecated GCC versions.

shmuel 12.07.2013 12:04:01 +0200 - 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.

drkns 12.07.2013 00:38:43 +0200 - build 3511

1. Correction of 3510.

drkns 11.07.2013 22:07:42 +0200 - build 3510

1. Removed limit on number of panel columns.

shmuel 11.07.2013 17:00:14 +0200 - 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.

drkns 10.07.2013 23:48:04 +0200 - build 3508

1. Correction of 3507.

drkns 10.07.2013 21:55:39 +0200 - build 3507

1. Refactoring.

2. Correction of 3506.

drkns 10.07.2013 00:39:34 +0200 - build 3506

1. Refactoring.

svs 09.07.2013 16:52:15 +0400 - build

1. Help correction, incl. TI:
    #26 System.CopyTimeRule

svs 09.07.2013 11:29:32 +0400 - build

1. Some help on privilege elevation.

drkns 08.07.2013 23:47:50 +0200 - build 3505

1. Refactoring.

shmuel 08.07.2013 20:15:33 +0200 - build 3504

1. Refactoring.

drkns 05.07.2013 18:34:35 +0200 - 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.

drkns 04.07.2013 23:03:09 +0200 - build 3502

1. Refactoring.

2. Correction of minimal GCC version (4.7.1).

w17 04.07.2013 16:45:06 +0400 - build 3501

1. gcc 4.7.1 compilation fix

shmuel 04.07.2013 15:27:46 +0200 - build 3500

1. Rollback of 3496. This also can be reached with LuaFAR library modification.

drkns 04.07.2013 13:30:33 +0200 - build 3499

1. Refactoring.

drkns 04.07.2013 12:55:32 +0200 - build 3498

1. Refactoring.

drkns 04.07.2013 01:21:03 +0200 - build 3497

1. Refactoring.

shmuel 03.07.2013 21:13:37 +0200 - build 3496

1. Forum: "Why does FAR create directories in the root of disk C".
   CreatePath inner FAR function is imported into LuaMacro plugin.

svs 03.07.2013 12:49:18 +0400 - 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

drkns 03.07.2013 00:38:12 +0200 - build 3494

1. Outer links did not (always) work in help.

2. Other issues.

drkns 02.07.2013 16:34:23 +0200 - build 3493

1. Avoiding the recursion in file mask groups.

svs 02.07.2013 17:15:47 +0400 - 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

svs 02.07.2013 11:40:49 +0400 - build

1. Correction in help
   @MakeFolder
     creation of links
   @UserMenu
     capability of moving items with Ctrl-arrows is described

drkns 02.07.2013 10:01:16 +0200 - build 3491

1. Correction of 3490.

2. Refactoring.

drkns 02.07.2013 01:13:32 +0200 - build 3490

1. Refactoring.

svs 01.07.2013 16:30:04 +0400 - 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

svs 01.07.2013 15:09:19 +0400 - 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

w17 01.07.2013 09:49:39 +0400 - build 3487

1. M#2439: Command line prompt format: environment variables don't work anymore

shmuel 30.06.2013 13:12:37 +0200 - build

1. Capability of calling script files with arguments is added.
   This is related to: MCTL_SENDSTRING, MCTL_ADDMACRO, eval, lm:post, lm:check.

shmuel 30.06.2013 01:46:43 +0200 - build 3486

1. Refactoring.

zg 29.06.2013 22:58:03 +0200 - build 3485

1. correction of 3482 for IsWordDiv: '\0' is always a words separator.

drkns 29.06.2013 14:58:18 +0200 - build 3484

1. Refactoring.

2. Support for compilation with VC++ 2013.

shmuel 28.06.2013 23:29:19 +0200 - build 3483

1. Incorrect renamings for some constants in 3482.

drkns 28.06.2013 16:40:17 +0200 - build 3482

1. Refactoring.

w17 28.06.2013 16:12:45 +0400 - build 3481

1. 3475++, cursor did not follow a file when renaming it with Shift-F6

w17 28.06.2013 15:13:42 +0400 - build 3480

1. 3475++, M#2437: Copy/Move on a mapped drive doesn't work in nightly

w17 27.06.2013 20:08:50 +0400 - 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.

w17 27.06.2013 07:41:30 +0400 - build 3478

1. M#2435: On copying files to a directory, a new directory is created aside.
   This is the fix for 3475.

drkns 26.06.2013 18:48:30 +0200 - build 3477

1. Adding some 'const'ness.

drkns 25.06.2013 21:41:36 +0200 - build 3476

1. Continuation of 3474.

w17 25.06.2013 19:24:28 +0400 - build 3475

1. M#2420: Problem with files moved from the temporary panel by their relative paths

drkns 25.06.2013 14:15:35 +0200 - build 3474

1. Analyzer warnings.

2. Refactoring.

shmuel 24.06.2013 17:28:37 +0200 - build 3473

1. Refactoring.

shmuel 22.06.2013 15:16:19 +0200 - build 3472

1. Corrections of 3458.

lort 20.06.2013 18:59:22 +0400 - build 3471

1. Correction of 3469.

drkns 20.06.2013 22:55:17 +0200 - build 3470

1. vc10.cpp/vc11.cpp are one file now.

lort 20.06.2013 20:50:11 +0400 - build 3469

1. Menu.Filter(4) call malfunction in macros

drkns 20.06.2013 01:17:10 +0200 - build 3468

1. VC2012 build can run in Windows 2000 SP4 + updates.

2. Default highlighting initialization error.

drkns 19.06.2013 20:11:42 +0200 - build 3467

1. Refactoring.

drkns 18.06.2013 23:40:14 +0200 - build 3466

1. Refactoring.

shmuel 18.06.2013 10:44:58 +0200 - build 3465

1. The names of macro flags moved from FAR to LuaMacro plugin.

drkns 17.06.2013 23:31:47 +0200 - build 3464

1. Refactoring.

w17 17.06.2013 14:53:30 +0400 - build 3463

1. Continuation of 3449 for directories. (M#2414: Cannot delete files with long name)

shmuel 15.06.2013 20:14:26 +0200 - build 3462

1. Correction of 3461.

shmuel 15.06.2013 12:28:39 +0200 - build 3461

1. Plugins API: MCTL_EXECSTRING allows passing arguments to called script.

drkns 15.06.2013 02:40:00 +0200 - build 3460

1. Refactoring.

drkns 14.06.2013 20:12:14 +0200 - build 3459

1. Refactoring.

shmuel 14.06.2013 16:21:37 +0200 - 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.

drkns 14.06.2013 01:17:12 +0200 - build 3457

1. Refactoring.

shmuel 14.06.2013 00:06:14 +0200 - build 3456

1. Plugins API: MCTL_EXECSTRING operation is added to MacroControl function.

drkns 13.06.2013 21:35:16 +0200 - 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.

drkns 13.06.2013 17:27:23 +0400 - build 3454

1. The meaning of previous commit is not quite clear: GetModuleFileNameEx is available on XP and already used in apiGetModuleFileNameEx.

w17 13.06.2013 18:23:56 +0400 - build 3453

1. Another correction of 3451
   GetProcessImageNameW -- available on xp

svs 13.06.2013 18:09:50 +0400 - build 3452

1. Correction of 3451
   QueryFullProcessImageNameW -- unavailable on xp

svs 13.06.2013 13:34:37 +0400 - 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.

drkns 12.06.2013 21:24:50 +0200 - build 3450

1. 0002424: Undo does not restore bookmarks

w17 12.06.2013 15:06:41 +0400 - build 3449

1. M#2414: One cannot delete filea with long name -- deletion without recycle bin is still available

shmuel 12.06.2013 13:23:17 +0200 - build 3448

1. Refactoring.

shmuel 10.06.2013 14:38:45 +0200 - build 3447

1. Refactoring.

shmuel 10.06.2013 02:03:06 +0200 - build 3446

1. M#2307: On msgbox call from condition(), the msgbox closing key is passed further (not consumed).

svs 06.06.2013 16:03:29 +0400 - build

1. Menu filtering with RAlt is noted in help.

drkns 06.06.2013 00:33:31 +0200 - build 3445

1. Refactoring.

2. Deprecated items are removed from viewer/editor local settings dialogs.

shmuel 04.06.2013 21:12:53 +0200 - build 3444

1. Refactoring.

2. GCC warnings.

w17 01.06.2013 17:07:58 +0400 - build 3443

1. Correction of 3439.

drkns 01.06.2013 11:04:26 +0200 - build 3442

1. Correction of 3440.

2. A couple of minor issues.

w17 01.06.2013 09:41:07 +0400 - build 3441

1. gcc build fix

drkns 01.06.2013 01:31:00 +0200 - build 3440

1. We contiue to break panel modes:
   - insertion and deletion work in menu (ins/del respectively)

w17 31.05.2013 17:14:08 +0400 - build 3439

1. M#1511: Shift_jis encoding -- view must work for all 2-byte encodings

w17 31.05.2013 11:51:32 +0400 - build 3438

1. M#2418: a problem with shortcuts import from Default.farconfig

drkns 30.05.2013 20:59:59 +0200 - build 3437

1. We contiue to break panel modes:
   - a mode can be renamed;
   - a mode can be reset to default settings.

shmuel 30.05.2013 18:24:39 +0200 - build 3436

1. Plugins API:
   * KMFLAGS_DISABLEOUTPUT is the default value now and is ignored by FAR.
   * A new flag is added: KMFLAGS_ENABLEOUTPUT.

shmuel 30.05.2013 11:29:22 +0200 - build 3435

1. LuaMacro plugin is given exact information on FAR /e or /v keys.

2. Correction of 3434 (VC build failure).

drkns 30.05.2013 00:47:06 +0200 - 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.

shmuel 29.05.2013 17:52:04 +0200 - build 3433

1. Experimental: autostarting macros work on FAR start with /e and /v keys.

drkns 29.05.2013 17:12:23 +0200 - build 3432

1. Broken reading from standard input in viewer.

shmuel 28.05.2013 22:43:14 +0200 - build 3431

1. M#1662: Improper behavior of macros with mmode().

w17 27.05.2013 12:24:16 +0400 - build 3430

1. GCC again -- NetDfsGetInfo dynamic loading, lame mingw builds should accept it

w17 27.05.2013 06:17:07 +0400 - build 3429

1. GCC++.

drkns 26.05.2013 19:53:59 +0200 - build 3428

1. GCC.

shmuel 26.05.2013 18:42:19 +0200 - build 3427

1. M#1663: Macros do not work from user menu on large amount of items on a panel.

w17 26.05.2013 00:53:26 +0400 - build 3426

1. correction of 3425 -- NetDfsGetInfo does not need dynamic loading

w17 26.05.2013 00:04:03 +0400 - build 3425

1. M#2412: DFS links view on CtrlA

shmuel 24.05.2013 15:43:21 +0200 - build 3424

1. Forum: After Keys("ShiftF6 End ! Enter") macro run on a file,
          Far caption stays "Rename/Move ..."

drkns 23.05.2013 23:02:08 +0200 - build 3423

1. Malfunction of virtual drives detection and removal.

w17 23.05.2013 19:21:06 +0400 - build 3422

1. M#2413: Selection restored incorrectly after the selected file moved on ShiftF6

t-rex 22.05.2013 17:29:36 +0200 - build 3421

1. RegExp search in viewer used RegExp API incorrectly, back reference (\NN) could not be used.

2. Refactoring.

drkns 22.05.2013 01:35:24 +0200 - build 3420

1. Incorrect display of strings containing quotes in replace confirmation dialog.

drkns 20.05.2013 21:50:11 +0200 - build 3419

1. Refactoring.

svs 20.05.2013 21:13:22 +0400 - build 3418

1. SQLite 3.7.17

drkns 20.05.2013 17:31:22 +0200 - build 3417

1. Correction of settings loading.

drkns 16.05.2013 20:30:12 +0200 - build 3416

1. Move TreeList::FlushCache() to a more appropriate place, so it does not block exit in case of failure.

drkns 16.05.2013 20:02:27 +0200 - build 3415

1. A typo in TreeList::FlushCache()

shmuel 16.05.2013 01:32:15 +0200 - build 3414

1. Correction of 3412.

drkns 15.05.2013 23:43:01 +0200 - build 3413

1. Refactoring.

2. VC warning.

shmuel 15.05.2013 23:22:20 +0200 - build 3412

1. Refactoring (enum MACROMODEAREA is removed).

shmuel 15.05.2013 18:00:53 +0200 - build 3411

1. Refactoring.

t-rex 14.05.2013 23:43:54 +0200 - 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 {}.

w17 14.05.2013 23:16:28 +0400 - build 3409

1. Another correction of 3388.

drkns 14.05.2013 16:47:32 +0200 - build 3408

1. Refactoring.

t-rex 14.05.2013 10:02:15 +0200 - build 3407

1. Let plugins create empty-named values in their DB and disable creation of such keys.

drkns 14.05.2013 09:57:32 +0200 - build 3406

1. Refactoring.

shmuel 14.05.2013 09:33:00 +0200 - build 3405

1. Correction of 3404.

shmuel 14.05.2013 09:03:57 +0200 - build 3404

1. GCC warnings.

w17 13.05.2013 14:54:22 +0400 - build 3403

1. Revert 3400

drkns 10.05.2013 14:49:03 +0200 - build 3402

1. Continuation of 3401.

drkns 10.05.2013 14:17:17 +0200 - build 3401

1. Continuation of 3157. Memory usage of editor highlighting is reduced approximately by one thirth.

w17 08.05.2013 23:57:50 +0400 - build 3400

1. M#1479: The find function should let pass a not visible (hidden) files

w17 08.05.2013 17:27:18 +0400 - build 3399

1. M#2316: add FarGuid

w17 08.05.2013 15:09:55 +0400 - build 3398

1. M#2407: Allow to disable BOM generation for UTF codepages in new files

t-rex 07.05.2013 23:35:51 +0200 - build 3397

1. Correction of 3342 + refactoring.
   Privilege elevation query was displayed entering c:\Users\user\Application Data, for example.

w17 07.05.2013 21:02:44 +0400 - build 3396

1. multiarc + folder shortcut

drkns 07.05.2013 17:13:55 +0200 - build 3395

1. Correction of 3393.

shmuel 07.05.2013 16:42:49 +0200 - build 3394

1. M#2222: MacroControl MCTL_SENDSTRING returns 0 in "Keys('F11') Menu.Select('FarNet', 2) Keys('Enter')"

drkns 07.05.2013 15:05:37 +0200 - build 3393

1. Continuation of 3388: move versioninfo processing to a separate class.

w17 07.05.2013 14:52:09 +0400 - build 3392

1. Correction of 3388 (unused code removed should fix gcc compilation)

w17 07.05.2013 11:05:10 +0400 - build 3391

1. fix gcc build

w17 07.05.2013 10:21:05 +0400 - build 3390

1. Correction of 3388

t-rex 07.05.2013 00:03:07 +0200 - 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.

w17 06.05.2013 18:05:16 +0400 - build 3388

1. M#2079: Links to FTP folders are not stored in folder links.

drkns 04.05.2013 16:01:20 +0200 - build 3387

1. Correction of 3358.1: translation of exceptions did not take place for threads except the main one.

drkns 03.05.2013 16:44:16 +0200 - build 3386

1. Refactoring.

drkns 03.05.2013 01:07:27 +0200 - build 3385

1. Refactoring.

drkns 02.05.2013 22:08:17 +0200 - build 3384

1. Forum: error in Help::MkTopic.

drkns 02.05.2013 17:47:12 +0200 - build 3383

1. Correction of 3367.1.

drkns 02.05.2013 16:42:48 +0200 - build 3382

1. Grammar in help.

2. Search for all occurrences in editor now shows the whole line and highlights a target.

drkns 02.05.2013 12:18:40 +0200 - build 3381

1. Completion malfunction in modal mode.

drkns 01.05.2013 16:06:56 +0200 - build 3380

1. cppcheck warnings.

drkns 30.04.2013 22:17:54 +0200 - build 3379

1. Continuation of 0002294.

drkns 30.04.2013 21:22:39 +0200 - build 3378

1. Continuation of 0002294.

zg 30.04.2013 09:19:06 +0200 - build 3377

1. EditorControl(EditorID,...) works for current editor given the real EditorID from EE_READ and EE_CLOSE.

w17 30.04.2013 08:56:12 +0400 - build 3376

1. M#2403: Current file after deletion

drkns 29.04.2013 22:43:33 +0200 - build 3375

1. Refactoring.

t-rex 29.04.2013 17:25:29 +0200 - build 3374

1. Refactoring.

drkns 29.04.2013 00:30:39 +0200 - build 3373

1. Refactoring.

t-rex 28.04.2013 15:57:33 +0200 - build 3372

1. Mantis#2382: far /clearcache

t-rex 28.04.2013 12:04:51 +0200 - 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.

t-rex 27.04.2013 23:30:06 +0200 - 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.

t-rex 27.04.2013 22:33:02 +0200 - build 3369

1. Removing those macros from plugin.hpp, no use for them.

t-rex 27.04.2013 17:23:23 +0200 - build 3368

1. Fix for several rarely used macros in plugin.hpp.

drkns 25.04.2013 22:28:30 +0200 - 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.

t-rex 25.04.2013 14:06:10 +0200 - build 3366

1. Mantis#2395: One cannot add a filter if the filters list is empty.
   For FFT_CUSTOM.

t-rex & drkns 25.04.2013 10:12:00 +0200 - build 3365

1. Refactoring of FileSystemWatcher, optimization and fix for an odd problem with plugins like PicView in QuickView mode, which appeared in 3348.

w17 23.04.2013 18:48:10 +0400 - build 3364

1. M#2370: artifacts in editor/viewer called from usermenu

w17 23.04.2013 01:00:56 +0400 - build 3363

1. 2394: FAR 3 build 3348: panels are drawn while editor is active -- next try

t-rex 21.04.2013 23:51:13 +0200 - build 3362

1. Editor search optimization.

drkns 21.04.2013 19:52:22 +0200 - build 3361

1. Correction of 3301.

t-rex 21.04.2013 00:13:24 +0200 - build 3360

1. Missed in 3342 that StartFSWatcher() is virtual.
   It could lead to strange redrawing bugs in random cases (Mantis#2394).

w17 20.04.2013 20:29:56 +0400 - build 3359

1. Forum: align the real names of keybar areas with the macro API.

drkns 20.04.2013 17:32:12 +0200 - build 3358

1. Handling structured exceptions as C++ exceptions.

2. /x key and ExceptRules parameter is removed.

drkns 20.04.2013 02:39:36 +0200 - build 3357

1. A couple of minor issues.

drkns 20.04.2013 02:30:33 +0200 - build 3356

1. Refactoring.

drkns 18.04.2013 23:11:39 +0200 - build 3355

1. In 3322, asynchronous DB processing was broken.

t-rex 18.04.2013 16:43:02 +0200 - build 3354

1. Correction of 3349, FAR crash if plugins with the same GUID are available.

drkns 18.04.2013 16:37:58 +0200 - build 3353

1. Rollback of 3352.

drkns 18.04.2013 16:24:32 +0200 - build 3352

1. Correction of 3351.

t-rex 18.04.2013 16:04:54 +0200 - build 3351

1. Unimportant memory leak.

svs 18.04.2013 15:31:10 +0400 - build 3350

1. Correction of 3346

t-rex 18.04.2013 13:14:37 +0200 - build 3349

1. Correction of 3343.1, it must also fix various bizarre bugs appeared after 3343.

t-rex 18.04.2013 11:30:20 +0200 - build 3348

1. Some more Mantis#2350.
   Asynchronous subscription on change notifications.

drkns 18.04.2013 09:39:27 +0200 - build 3347

1. 0002377: Far Manager v3.0 build 3345 creates empty files when it does copying

svs 18.04.2013 09:29:05 +0400 - 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>


drkns 17.04.2013 23:54:41 +0200 - build 3345

1. Correction of 3343.2.

drkns 17.04.2013 23:00:51 +0200 - build 3344

1. 0000501: apiCreateFile rights for the Editor.

drkns 17.04.2013 22:39:03 +0200 - 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.

t-rex 17.04.2013 19:41:06 +0200 - build 3342

1. Some more Mantis#2350.

drkns 17.04.2013 13:36:23 +0200 - build 3341

1. 0002371: F5 copying error

drkns 17.04.2013 01:01:52 +0200 - build 3340

1. A couple of minor fixes.

drkns 16.04.2013 21:29:44 +0200 - build 3339

1. Refactoring.

w17 16.04.2013 16:56:10 +0400 - build 3338

1. M#2184: Incorrect UNDO functioning in built-in editor.

svs 16.04.2013 15:27:59 +0400 - 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.

drkns 16.04.2013 00:28:35 +0200 - build 3336

1. Refactoring.

shmuel 15.04.2013 21:20:44 +0200 - 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).

t-rex 15.04.2013 20:57:00 +0200 - build 3334

1. Once more Mantis#2350.

svs 15.04.2013 16:20:00 +0400 - 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)

shmuel 15.04.2013 14:43:27 +0200 - build 3332

1. Preventing crashes on exit from FAR in case of plugins calling MCTL_XXX in ExitFARW.

drkns 14.04.2013 18:16:54 +0200 - build 3331

1. Correction of 3318.

t-rex 14.04.2013 14:07:27 +0200 - build 3330

1. Mantis#2350: Lags accessing Android via Samba.

drkns 14.04.2013 12:26:10 +0200 - build 3329

1. Once more 0002367.

drkns 13.04.2013 22:57:39 +0200 - build 3328

1. 0002367: Problem with starting apps from Junction/Symlink folders

svs 12.04.2013 21:35:09 +0400 - build 3327

1. SQLite 3.7.16.2

drkns 12.04.2013 13:49:34 +0200 - build 3326

1. 0002366: FAR freezes on searching a text in an archive protected with password

drkns 12.04.2013 12:49:34 +0200 - build 3325

1. Correction of console caption redrawing.

shmuel 12.04.2013 01:15:24 +0200 - build 3324

1. Refactoring.

2. Correction of 3323.

drkns 12.04.2013 00:45:48 +0200 - build 3323

1. Refactoring.

drkns 11.04.2013 23:11:05 +0200 - build 3322

1. Using 'override' keyword in derived classes.

2. A couple of minor things.

drkns 10.04.2013 21:46:38 +0200 - build 3321

1. 0002146: Privilege API for NetBox plugin

t-rex 10.04.2013 13:47:20 +0200 - build 3320

1. Asynchronous history of viewer/editor positions.

drkns 10.04.2013 12:15:01 +0200 - build 3319

1. ChangeTime was not filled in GetPanelItem.

drkns 10.04.2013 11:30:59 +0200 - build 3318

1. ChangeTime was not filled in FarGetDirList.

drkns 10.04.2013 00:18:55 +0200 - build 3317

1. Another portion of refactoring.

drkns 09.04.2013 19:53:37 +0200 - build 3316

1. Refactoring.

t-rex 09.04.2013 19:12:39 +0200 - build 3315

1. Minor refactoring.

t-rex 09.04.2013 18:45:22 +0200 - build 3314

1. Minor refactoring.

t-rex 09.04.2013 18:01:37 +0200 - build 3313

1. Forgotten initialization of ThreadCounter in 3311 sometimes caused FAR get stuck on exit.

shmuel 09.04.2013 17:51:59 +0200 - 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.

t-rex 09.04.2013 16:37:04 +0200 - 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.

t-rex 09.04.2013 13:58:04 +0200 - build 3310

1. Refactoring of synchronization classes .

2. Final refactoring of asynchronous history.

drkns 09.04.2013 13:47:32 +0200 - build 3309

1. A command called from completion menu did not run if the menu was closed with the mouse.

svs 09.04.2013 12:08:51 +0400 - build

1. Makeup without a build (lower vs. upper in GUIDs)

shmuel 08.04.2013 23:36:09 +0200 - build 3308

1. M#2363: mf.flock always returns 1 at the moment of key press.

t-rex 08.04.2013 19:18:40 +0200 - 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.

drkns 07.04.2013 20:11:40 +0200 - build 3306

1. lng could be read incorrectly in some cases.

drkns 07.04.2013 14:17:22 +0200 - build 3305

1. Correction of 3301.

drkns 07.04.2013 11:36:42 +0200 - build 3304

1. Correction of 3301.

drkns 07.04.2013 10:30:14 +0200 - build 3303

1. Continuation of 3301.

drkns 07.04.2013 01:28:41 +0200 - build 3302

1. Correction of 3301.

drkns 07.04.2013 00:42:28 +0200 - build 3301

1. Continuation of 2303.1.

w17 05.04.2013 17:22:48 +0400 - build 3300

1. M#2360: Crash while editing a user menu item command

drkns 05.04.2013 09:37:43 +0200 - build 3299

1. Correction of 3298.

drkns 04.04.2013 23:52:41 +0200 - build 3298

1. Experimental: usual masks and regular expressions in masks can be mixed, for example:
   *.ext1, *.ext2, /re1/, *.ext3, /re2/|/re3/,*.ext4

drkns 03.04.2013 23:25:19 +0200 - build 3297

1. Refactoring.

drkns 03.04.2013 14:08:23 +0200 - build 3296

1. 0002357: Constantly displaying "Access denied" if PATH variable has inaccessible directories

drkns 02.04.2013 22:55:14 +0200 - build 3295

1. Refactoring.

2. regexp.?pp cleanup.

drkns 02.04.2013 17:01:23 +0200 - build 3294

1. Correction of strings in deletion dialog.

svs 02.04.2013 12:45:12 +0400 - 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

shmuel 02.04.2013 11:30:36 +0200 - build 3292

1. M#2356: Menu.FilterStr(0) malfunction.

lort 01.04.2013 20:49:51 +0400 - build 3291

1. Don't consume CtrlTab and CtrlShiftTab if there's no possibility of switching away from the current frame (M#2353)

shmuel 01.04.2013 15:55:51 +0200 - build 3290

1. M#2343: Menu.Select works incorrectly with disabled items.

drkns 30.03.2013 13:20:21 +0200 - build 3289

1. Continuation of 3283.2.

2. Refactoring.

svs 29.03.2013 21:21:04 +0400 - build 3288

1. SQLite 3.7.16.1

w17 29.03.2013 01:33:56 +0400 - 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

drkns 28.03.2013 22:42:42 +0200 - build 3286

1. Continuation of 3285.

2. Refactoring.

drkns 28.03.2013 20:46:57 +0200 - build 3285

1. Correction of SEH exceptions processing.

drkns 28.03.2013 20:02:12 +0200 - build 3284

1. Correction in search regarding [x] Process alternate data streams.

drkns 28.03.2013 15:58:11 +0400 - 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.

svs 28.03.2013 13:58:10 +0400 - build 3282

1. Mantis#0001199: link:[/msg]
   ...regarding message output when creating hard links

drkns 28.03.2013 09:58:16 +0200 - build 3281

1. vc10.

svs 28.03.2013 11:16:18 +0400 - build

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 )

drkns 27.03.2013 22:36:11 +0200 - build 3280

1. Folder shortcuts are now read on each request and written immediately after change.

2. Refactoring.

drkns 27.03.2013 00:12:11 +0200 - build 3279

1. Refactoring.

shmuel 27.03.2013 00:02:08 +0200 - build 3278

1. Forum: Editor.Pos(1,1,*) caused screen redraw with missing EnableOutput flag.

drkns 25.03.2013 21:54:56 +0200 - build 3277

1. Another correction for drawing in far /w

2. gcc.

drkns 25.03.2013 15:55:42 +0200 - build 3276

1. Optimization: push_<front|back> => emplace_<front|back>.

2. Correction for drawing in far /w.

drkns 25.03.2013 00:02:58 +0200 - build 3275

1. 0002348: Exception in EditControl/ECTL_SAVEFILE if Param2.FileName = NULL

drkns 24.03.2013 17:19:41 +0200 - build 3274

1. Partial rollback of 3269. Too early.

drkns 24.03.2013 16:21:07 +0200 - build 3273

1. Another correction.

2. 0002345: A small defect in help info

drkns 24.03.2013 11:45:49 +0200 - build 3272

1. And more.

drkns 23.03.2013 19:59:25 +0200 - build 3271

1. Another couple of corrections.

drkns 23.03.2013 17:28:05 +0200 - build 3270

1. Correction of 3269.

drkns 23.03.2013 16:17:18 +0200 - build 3269

1. Refactoring.

drkns 23.03.2013 00:40:11 +0200 - build 3268

1. Refactoring.

w17 23.03.2013 00:02:37 +0400 - build 3267

1. correction of 3259.

svs 22.03.2013 18:21:38 +0400 - build

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>

svs 22.03.2013 15:40:09 +0400 - 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)

svs 22.03.2013 14:45:14 +0400 - 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")

shmuel 21.03.2013 22:51:47 +0200 - build 3264

1. Refactoring.

drkns 21.03.2013 21:29:29 +0200 - build 3263

1. Refactoring.

drkns 21.03.2013 02:27:47 +0200 - build 3262

1. One more correction of 3260.

w17 21.03.2013 03:58:50 +0400 - build 3261

1. correction of 3260.

drkns 20.03.2013 23:09:07 +0200 - build 3260

1. Refactoring.

drkns 20.03.2013 02:07:58 +0200 - build 3259

1. Refactoring.

drkns 19.03.2013 00:02:25 +0200 - build 3258

1. Refactoring.

svs 18.03.2013 18:58:10 +0400 - build 3257

1. SQLite 3.7.16

w17 18.03.2013 17:45:12 +0400 - build 3256

1. m#1905 - removing 'wrap...' sign from viewer keybars for hex and dump modes.

drkns 17.03.2013 22:54:00 +0200 - build 3255

1. Refactoring.

drkns 17.03.2013 18:35:35 +0200 - build 3254

1. Continuation of 3253 - the task list could be called twice if the first call was from the main menu.

w17 17.03.2013 20:06:26 +0400 - build 3253

1. ShowProcessList() could be called many times (from ru.board)

drkns 17.03.2013 14:35:40 +0200 - build 3252

1. Continuation of M#0002294: code refactoring, help is added.

drkns 16.03.2013 22:39:28 +0200 - build 3251

1. Refactoring.

drkns 16.03.2013 01:18:08 +0200 - build 3250

1. M#0000466 related code is removed.

2. gcc debug x86 build did not work.

3. Refactoring.

shmuel 15.03.2013 16:22:25 +0200 - build 3249

1. Restoring the behavior of Plugin.Call asynchronous call, according to the comment to build 2899.

w17 15.03.2013 07:03:24 +0400 - build 3248

1. Refactoring.

w17 14.03.2013 15:40:18 +0400 - build 3247

1. Syncing of keybars and the language file

drkns 14.03.2013 00:40:53 +0200 - build 3246

1. Refactoring.

drkns 13.03.2013 21:37:15 +0200 - build 3245

1. Correction of 3243.

drkns 13.03.2013 21:26:34 +0200 - build 3244

1. gcc.

drkns 13.03.2013 21:15:45 +0200 - build 3243

1. 0002330: UserData memory leaks in operations with AnalyseW

2. 0002334: memory leaks in operations with sqlite.

t-rex 13.03.2013 17:08:47 +0200 - build 3242

1. Mantis#2334: memory leaks in operations with sqlite.

drkns 13.03.2013 02:34:54 +0200 - build 3241

1. Refactoring.

drkns 12.03.2013 23:31:23 +0200 - build 3240

1. Refactoring.

2. 0002332: "admin" indicator is in the middle of the screen (by height)

drkns 12.03.2013 01:52:54 +0200 - build 3239

1. Refactoring.

shmuel 09.03.2013 22:50:25 +0200 - build 3238

1. MCTL_LOADALL and far.MacroLoadAll return true only if there were no errors on start.

drkns 09.03.2013 13:12:45 +0200 - build 3237

1. Refactoring.

w17 09.03.2013 13:17:54 +0400 - build 3236

1. Export/Import for localconfig.db

shmuel 08.03.2013 11:51:14 +0200 - build

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.

drkns 08.03.2013 01:52:56 +0200 - build 3235

1. Removing some unused code.

w17 07.03.2013 00:30:54 +0400 - build 3234

1. Correction of 3232 - the name of a mutex depends on the full path to db.

w17 06.03.2013 19:26:54 +0400 - build 3233

1. M#2329: error drawing editor lines

t-rex 05.03.2013 15:14:09 +0200 - build 3232

1. Mantis#1813: Problems with DB when multiple FAR instances are started/closed simultaneously.

drkns 04.03.2013 23:31:07 +0200 - build 3231

1. 0002322: Incorrect drawing in viewer/editor

zg 04.03.2013 00:01:33 +0200 - build 3230

1. (num|caps|scroll)lock and their combinations with modifiers can now be assigned macros.

drkns 03.03.2013 01:12:28 +0200 - build 3229

1. Refactoring.

drkns 02.03.2013 22:18:14 +0200 - build 3228

1. Refactoring.

drkns 02.03.2013 21:38:22 +0200 - build 3227

1. pushd c:\ + popd caused crash.

shmuel 02.03.2013 01:17:54 +0200 - build 3226

1. Continuation of 3222: mf.usermenu. The description is in macroapi_manual.chm.

drkns 28.02.2013 22:15:33 +0200 - build 3225

1. Refactoring.

shmuel 28.02.2013 21:37:28 +0200 - build 3224

1. Continuation of 3222: extending mf.usermenu functionality. The full description is in macroapi_manual.chm.

shmuel 28.02.2013 17:22:41 +0200 - 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).

svs 28.02.2013 11:46:34 +0400 - 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 :-)

zg 27.02.2013 01:14:16 +0200 - 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."

shmuel 27.02.2013 00:19:09 +0200 - build

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.

shmuel 26.02.2013 18:14:23 +0200 - build

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.

drkns 26.02.2013 02:15:17 +0200 - build 3220

1. 0002248: ANSI plugins do not let apps start from junction folders

2. Refactoring.

shmuel 22.02.2013 20:10:21 +0200 - build 3219

1. Continuation of 3217: mmode(1,1) call could block the screen on subsequent invocation of an error dialog.

drkns 22.02.2013 19:09:39 +0200 - build 3218

1. Run with CtrlAltEnter did not work.

shmuel 22.02.2013 17:38:36 +0200 - build 3217

1. mmode(1,1) call could suppress screen redraw after a macro ended.

drkns 21.02.2013 23:44:34 +0200 - build 3216

1. Partial rollback of 3171.2, too many bugs appeared.

w17 20.02.2013 17:52:10 +0400 - build 3215

1. Continuation of 3206 (M#2303) -- automatic detection of links copying method.

shmuel 20.02.2013 09:48:22 +0200 - build 3214

1. Correction of 3209 for MSSC_POST.

drkns 20.02.2013 02:06:02 +0200 - build 3213

1. Refactoring. Adding some 'const'ness.

drkns 19.02.2013 22:23:51 +0200 - build 3212

1. Continuation of 3208. UserDefinedList is removed, there is StringToList function which creates a standard list following the same logic.

w17 19.02.2013 12:13:40 +0400 - 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

w17 19.02.2013 08:36:13 +0400 - build 3210

1. vc10 compilation fix.

shmuel 18.02.2013 23:49:37 +0200 - 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.

drkns 18.02.2013 23:29:22 +0200 - build 3208

1. Refactoring.

drkns 18.02.2013 22:10:06 +0200 - build 3207

1. More launcher related stuff.

w17 18.02.2013 17:33:55 +0400 - build 3206

1. M#2303: New Reparse Point types in Windows 8/2012

drkns 17.02.2013 21:06:25 +0200 - build 3205

1. Refactoring.

drkns 17.02.2013 18:01:04 +0200 - build 3204

1. Correction of 3197.

shmuel 16.02.2013 23:01:07 +0200 - build

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().

drkns 16.02.2013 20:14:37 +0200 - build 3203

1. The length of the prompt was not restored after $#nn removed from the format string.

drkns 16.02.2013 15:19:37 +0200 - build 3202

1. Once more 0002306.

2. Crash in info panel.

3. gcc.

drkns 16.02.2013 14:57:06 +0200 - build 3201

1. 0002306: panel not initialized

drkns 16.02.2013 13:22:34 +0200 - build 3200

1. 0002306: panel not initialized

drkns 16.02.2013 12:07:09 +0200 - build 3199

1. Correction of 3197.

drkns 16.02.2013 03:37:17 +0200 - build 3198

1. Crashes with too little console buffer size.

drkns 16.02.2013 02:44:09 +0200 - 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

drkns 15.02.2013 23:09:33 +0200 - build 3196

1. 0002304: External editor launch erases the command line.
   Launcher is altered a little once again, bugs possible.

drkns 14.02.2013 21:11:45 +0200 - 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.

t-rex 14.02.2013 20:37:28 +0200 - build 3194

1. Removing the previous ones, now the configuration of the width resides in the prompt line - $#nn.

svs 14.02.2013 17:26:41 +0400 - build 3193

1. Correction of 3192.
   Prompter improvement:
   $W - current working directory (no path given)

svs 14.02.2013 17:05:40 +0400 - 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.

t-rex 14.02.2013 13:40:43 +0200 - build 3191

1. Configuration of Cmdline.PromptSize from the previous build.

svs 14.02.2013 14:58:04 +0400 - 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.

drkns 13.02.2013 22:22:04 +0200 - build 3189

1. Refactoring.

2. Correction of 3174.1.

drkns 13.02.2013 20:41:59 +0200

1. 'Define's removed for vc9 and lower, we do not support them anyway.

2. 0002280: Blurry icons in window title and taskbar.

drkns 13.02.2013 12:41:34 +0200 - build 3188

1. Correction of 3185 for ancient OS's.

2. Correction of 3185 for flawed sdk's.

lort 13.02.2013 14:16:45 +0400 - build 3187

1. Correction of 3184

drkns 12.02.2013 23:59:04 +0200 - build 3186

1. Trying to avoid horizontal scrollbar appear after AltF9 when windowmode==true.

drkns 12.02.2013 23:47:00 +0200 - build 3185

1. Experimental: trying to get the scrollbar not to overlap information when windowmode==true and window is maximized.

lort 13.02.2013 01:32:35 +0400 - build 3184

1. 0002297: FMENU_SHOWAMPERSAND flag malfunction

drkns 12.02.2013 23:15:47 +0200 - build 3183

1. Adequate scrolling to the beginning/end of a buffer for windowmode==true.

drkns 12.02.2013 21:48:26 +0200 - build 3182

1. 0002294: "Preserve style" option available in editor replace.

w17 12.02.2013 12:37:49 +0400 - build 3181

1. correction of 3180

w17 12.02.2013 08:58:04 +0400 - build 3180

1. M#2299: Far crash when using folder search (Alt-F10)

drkns 12.02.2013 01:29:37 +0200 - build 3179

1. Continuing 3157.

drkns 11.02.2013 22:15:28 +0200 - 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.

drkns 11.02.2013 21:02:37 +0200 - build 3177

1. Refactoring.

drkns 11.02.2013 19:57:46 +0200 - build 3176

1. Continuation of 3171.

shmuel 11.02.2013 18:53:29 +0200 - build

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.

t-rex 11.02.2013 16:16:30 +0200 - build 3175

1. Continuing 3157. MaxLength moved to Editcontrol.

t-rex 11.02.2013 12:16:10 +0200 - 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.

shmuel 11.02.2013 11:27:48 +0200 - build

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).

t-rex 11.02.2013 11:24:05 +0200 - build 3173

1. gcc build failure.

drkns 10.02.2013 22:22:59 +0200 - build 3172

1. Continuation of 3171.

drkns 10.02.2013 19:50:21 +0200 - build 3171

1. Correction of 3169.

2. Refactoring of panel states storage. Variety of bugs is possible.

shmuel 10.02.2013 16:55:25 +0200 - build

1. Macros (specification of events):
   In ViewerEvent group, 'name' field can have the following values: 'Read', 'Close', 'KillFocus', 'GotFocus'.

shmuel 10.02.2013 15:46:55 +0200 - build 3170

1. Refactoring.

drkns 10.02.2013 04:31:36 +0200 - build 3169

1. Continuing 3157. 8/16 bytes less.

drkns 10.02.2013 03:06:35 +0200 - build 3168

1. Continuing 3157. 20 bytes less in x86 and 32 in x64.

t-rex 08.02.2013 16:52:35 +0200 - build 3167

1. SCTL_ENUM returned wrong value.

w17 08.02.2013 18:51:02 +0400 - build 3166

1. 0002292: ESPT_CODEPAGE corrupts the file

drkns 08.02.2013 01:56:40 +0200 - build 3165

1. Refactoring.

shmuel 08.02.2013 01:25:45 +0200 - build

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.

shmuel 07.02.2013 20:15:14 +0200 - build

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;
       }

t-rex 07.02.2013 16:44:49 +0200 - build 3164

1. Continuing 3157.

t-rex 07.02.2013 14:53:35 +0200 - 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?

t-rex 07.02.2013 04:14:49 +0200 - build 3162

1. The choice of default encoding in viewer settings (now it works).

2. The choice of default encoding in editor settings.

drkns 07.02.2013 01:13:11 +0200 - build 3161

1. Correction of wrapper.

t-rex 07.02.2013 00:01:22 +0200 - build 3160

1. The choice of default encoding in viewer settings (does not work by now).

drkns 06.02.2013 23:47:36 +0200 - build 3159

1. Refactoring.

trex 06.02.2013 20:13:18 +0200 - build 3158

1. Continuing 3157. Now the class Edit has no 'codepage' entity.

drkns 06.02.2013 01:28:10 +0200 - build 3157

1. Edit class size reduced, editor must be using a bit less memory on large amount of lines.

shmuel 05.02.2013 17:11:26 +0200 - build

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.

drkns 05.02.2013 08:32:09 +0200 - build 3156

1. Correction of 3155.

drkns 05.02.2013 02:11:39 +0200 - build 3155

1. Using standard stacks and queues.

drkns 04.02.2013 23:38:27 +0200 - build 3154

1. Refactoring.

lort 04.02.2013 21:52:31 +0400 - build 3153

1. Incorrect adjustment of Menu.Show macro function menu height

drkns 04.02.2013 03:18:25 +0200 - build 3152

1. Refactoring.

drkns 04.02.2013 02:45:41 +0200 - build 3151

1. Refactoring.

drkns 03.02.2013 22:59:12 +0200 - build 3150

1. Correction of 3094.

shmuel 03.02.2013 16:56:54 +0200 - 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.

drkns 03.02.2013 09:32:05 +0200 - build 3148

1. Correction of 3094.

shmuel 02.02.2013 23:13:23 +0200 - 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.

shmuel 02.02.2013 22:36:31 +0200 - build 3146

1. M#2228: Menu items shift to the right if automatic numbering of items is used in Menu.Show.

drkns 02.02.2013 16:50:15 +0200 - build 3145

1. And once more.

drkns 02.02.2013 16:20:21 +0200 - build 3144

1. Correction of 3141.

t-rex 01.02.2013 21:23:22 +0200 - build 3143

1. RCtrlH did not work in far:config.

drkns 01.02.2013 18:50:55 +0200 - build 3142

1. Malfunction of macro recording keys redefinition.

drkns 01.02.2013 17:36:21 +0200 - 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.

t-rex 01.02.2013 12:24:37 +0200 - build 3140

1. Correction of 3134.

drkns 01.02.2013 10:22:46 +0200 - build 3139

1. Correction of 3138.

2. Refactoring.

drkns 31.01.2013 02:45:16 +0200 - build 3138

1. Adding support for move semantics to UnicodeString.

t-rex 31.01.2013 01:59:09 +0200 - build 3137

1. Mantis#2247. More comprehensible display of string search progress in files.

t-rex 30.01.2013 23:45:01 +0200 - build 3136

1. The previous fix must work only at 'replace all'.

t-rex 30.01.2013 22:48:47 +0200 - build 3135

1. Mantis#1376: Undo replace all.
   On replace, undo rolls back all changes at once.

t-rex 30.01.2013 22:04:15 +0200 - 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.

w17 30.01.2013 15:33:36 +0400 - build 3133

1. operator< should be const (also another fix for selection in panels)

drkns 30.01.2013 00:27:32 +0200 - build 3132

1. Adding some clever macros to simplify the use of template containers.

drkns 29.01.2013 20:56:19 +0200 - build 3131

1. Refactoring.

shmuel 29.01.2013 19:03:01 +0200 - build 3130

1. Forum: if Keys() call is placed after far.MacroLoadAll() then the macro is terminated after return from Keys.

shmuel 29.01.2013 10:46:39 +0200 - build 3129

1. After macro selection menu cancel the key was passed to FAR for further processing.

w17 29.01.2013 09:13:35 +0400 - 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

w17 29.01.2013 08:49:52 +0400 - build 3127

1. Panel selection fix.

drkns 28.01.2013 22:53:29 +0200 - build 3126

1. More correct "once more".

w17 28.01.2013 19:49:34 +0400 - build 3125

1. Once more...

w17 28.01.2013 18:27:46 +0400 - build 3124

1. Correction of refactoring (I don't know which one of them ......)

drkns 28.01.2013 01:20:00 +0200 - build 3123

1. Refactoring.

shmuel 27.01.2013 17:48:50 +0200 - build 3122

1. 'akey' and 'mmode' functions being called from 'condition' macro function return false.

drkns 26.01.2013 21:15:16 +0200 - build 3121

1. Correction of tree file saving.

drkns 26.01.2013 18:04:57 +0200 - build 3120

1. Correction of 3119.

drkns 26.01.2013 17:54:44 +0200 - build 3119

1. Refactoring.

drkns 26.01.2013 15:03:56 +0200 - build 3118

1. Correction of 3117.1.

drkns 26.01.2013 12:06:30 +0200 - 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.

w17 25.01.2013 12:14:49 +0400 - build 3116

1. gcc build fix

drkns 24.01.2013 23:55:14 +0200 - build 3115

1. Refactoring.

drkns 23.01.2013 23:57:06 +0200 - build 3114

1. Refactoring.

drkns 23.01.2013 20:15:10 +0200 - build 3113

1. Correction of 3112.2.

drkns 22.01.2013 23:14:46 +0200 - 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.

drkns 22.01.2013 00:53:06 +0200 - build 3111

1. Refactoring of far:config.

drkns 21.01.2013 23:05:46 +0200 - build 3110

1. And once more.

drkns 21.01.2013 22:08:36 +0200 - build 3109

1. And once more.

drkns 21.01.2013 21:39:57 +0200 - build 3108

1. Correction of correction of correction of 3102.

w17 21.01.2013 20:58:56 +0400 - build 3107

1. Correction of correction of 3102 (usermenu).

svs 21.01.2013 17:37:30 +0400 - 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}


w17 21.01.2013 14:25:04 +0400 - build 3105

1. Correction of 3102 (usermenu).

drkns 21.01.2013 08:55:54 +0200 - build 3104

1. Correction of 3102.

w17 21.01.2013 04:06:32 +0400 - build 3103

1. Correction of 3102.

drkns 20.01.2013 23:13:49 +0200 - build 3102

1. Refactoring.

drkns 20.01.2013 21:47:14 +0200 - build 3101

1. A couple of leaks in filters.

2. Correction in help.

drkns 20.01.2013 21:26:25 +0200 - 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.

drkns 20.01.2013 20:08:29 +0200 - build 3099

1. Correction of 3094.

w17 20.01.2013 16:30:39 +0400 - build 3098

1. M#2265: Scrollbar errors in editor/viewer

drkns 19.01.2013 21:18:14 +0200 - build 3097

1. Correction of 3094.

shmuel 18.01.2013 21:07:42 +0200 - build 3096

1. Refactoring.

drkns 18.01.2013 15:38:50 +0200 - build 3095

1. Refactoring.

drkns 18.01.2013 14:41:12 +0200 - build 3094

1. Refactoring of descriptions.

2. 0002261: Expand environment variables in folder shortcuts menu

shmuel 18.01.2013 12:25:16 +0200 - build 3093

1. There was a possibility of recording a macro while another macro playing.

drkns 17.01.2013 23:40:28 +0200 - build 3092

1. Continuation of 3087 - panel focus moved to local settings.

drkns 17.01.2013 22:37:25 +0200 - build 3091

1. Another correction of 3076.

drkns 17.01.2013 22:12:27 +0200 - build 3090

1. Correction of 3076 and rollback of 3089, will be done later.

shmuel 17.01.2013 16:34:27 +0200 - build 3089

1. Partial rollback of 3076 (Undo/Redo in editor).

shmuel 16.01.2013 23:53:39 +0200 - build 3088

1. GCC warnings.

drkns 16.01.2013 22:58:06 +0200 - build 3087

1. 0001969: Separate "Save panels state" setting from other settings and make it local

svs 16.01.2013 23:56:44 +0400 - build 3086

1. Mantins#0002260: GUID is needed in file reopen dialog
     EditorReloadId={AFDAD388-494C-41e8-BAC6-BBE9115E1CC0}

drkns 15.01.2013 23:37:28 +0200 - build 3085

1. Correction of 3084.

drkns 15.01.2013 22:03:55 +0200 - build 3084

1. 0002256: Fix warnings: member variable is not initialized in constructor

shmuel 15.01.2013 00:27:59 +0200 - build 3083

1. Refactoring.

w17 15.01.2013 00:33:06 +0400 - build 3082

1. Highlight Ctrl-Up/Down fix = correction of 3076

w17 14.01.2013 21:28:05 +0400 - build 3081

1. M#2254: In window - PgDn in menu = correction of 3076

w17 14.01.2013 18:14:07 +0400 - build 3080

1. correction of 3076 - shortcuts fix

w17 14.01.2013 06:39:14 +0400 - build 3079

1. correction of 3076

shmuel 13.01.2013 11:40:40 +0200 - 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.

drkns 13.01.2013 02:23:07 +0200 - build 3077

1. gcc.

drkns 13.01.2013 00:28:46 +0200 - build 3076

1. Refactoring. Overall use of standard lists and arrays, some lambdas and stuff. Epic bugs are possible.

zg 12.01.2013 04:49:12 +0200 - build 3075

1. 0002252: Inconsistency between selection and cursor movement in block mode.

shmuel 11.01.2013 17:46:00 +0200 - 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).

drkns 10.01.2013 21:38:44 +0200 - build 3073

1. Refactoring.

w17 10.01.2013 12:03:54 +0400 - build 3072

1. gcc build fix

drkns 10.01.2013 02:03:43 +0200 - build 3071

1. Refactoring.

drkns 10.01.2013 00:25:12 +0200 - build 3070

1. Refactoring.

svs 09.01.2013 22:04:32 +0400 - 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.

svs 09.01.2013 21:49:38 +0400 - build 3068

1. SQLite 3.7.15.2

zg 07.01.2013 05:12:25 +0200 - build 3067

1. RECTL_SEARCHEX for unfound brackets assigned RegExpMatch.start a value different from -1.

lort 04.01.2013 18:02:57 +0400 - build 3066

1. Mantis#0002240: Ctrl-Enter incorrect functioning in search results menu

shmuel 04.01.2013 15:52:07 +0200 - build 3065

1. M#2220: MoreHistory -> View/Edit history -> F4 Esc Esc -> Random crash
   (from Michael Lukashov).

shmuel 03.01.2013 23:35:20 +0200 - build 3064

1. Forum: macros such as AltQ do not run with Russian keyboard layout.

drkns 02.01.2013 20:44:40 +0200 - build 3063

1. Refactoring.

drkns 02.01.2013 18:45:01 +0200 - build 3062

1. Refactoring.

shmuel 02.01.2013 07:50:55 +0200 - build 3061

1. Visual C++ build error.

shmuel 02.01.2013 00:50:13 +0200 - build 3060

1. Refactoring.

shmuel 01.01.2013 13:42:42 +0200 - build 3059

1. Refactoring.

zg 31.12.2012 01:16:38 +0200 - build 3058

1. with mmode 3 on, memory corruption took place after Plugin.Call if the macro returned before the plugin call.

shmuel 30.12.2012 21:29:27 +0200 - build 3057

1. Help did not include macros from ShellAutoCompletion and DialogAutoCompletion.

2. Refactoring.

shmuel 30.12.2012 20:00:01 +0200 - build 3056

1. Help did not include macros recorded from keyboard.

2. Refactoring.

shmuel 30.12.2012 00:14:45 +0200 - build 3055

1. Refactoring.

shmuel 29.12.2012 15:17:57 +0200 - 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.

lort 28.12.2012 18:36:32 +0400 - build 3053

1. Correction of 2941.3

svs 25.12.2012 18:44:49 +0400 - 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

svs 25.12.2012 18:31:20 +0400 - 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

shmuel 25.12.2012 12:36:38 +0200 - 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.

drkns 25.12.2012 00:19:17 +0200 - build 3049

1. Rollback of 3041.1.

drkns 23.12.2012 22:43:29 +0200 - build 3048

1. Continuation of 3047.

drkns 23.12.2012 19:32:14 +0200 - build 3047

1. Another bug in menus.

drkns 23.12.2012 18:20:07 +0200 - build 3046

1. Correction of plugin unloading.

w17 23.12.2012 17:00:33 +0400 - 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.

w17 23.12.2012 14:22:48 +0400 - build 3044

1. M#0002232: Find/Replace is off by word length

drkns 22.12.2012 13:53:21 +0200 - build 3043

1. Memory leak in vmenu on item deletion.

drkns 22.12.2012 10:04:19 +0200 - build 3042

1. Correction of 3041.

drkns 21.12.2012 22:41:03 +0200 - 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.

svs 21.12.2012 16:15:36 +0400 - 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.


drkns 21.12.2012 01:39:53 +0200 - build 3039

1. Continuation of 3028.

drkns 21.12.2012 00:59:22 +0200 - build 3038

1. Refactoring.

drkns 20.12.2012 23:11:35 +0200 - build 3037

1. Memory deallocation correction in wrapper.

drkns 20.12.2012 22:59:42 +0200 - build 3036

1. Continuation of 3028.

svs 20.12.2012 11:31:27 +0400 - build 3035

1. SQLite 3.7.15.1

2. Drawing artifacts in InfoPanel

drkns 19.12.2012 22:50:44 +0200 - build 3034

1. In menu2, one could "press" grayed & disabled items.

2. Continuation of 3028.

svs 19.12.2012 13:13:17 +0400 - 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.

drkns 19.12.2012 02:42:37 +0200 - build 3032

1. Continuation of 3028.

svs 18.12.2012 11:28:12 +0400 - build 3031

1. Mantis#0002224: menu items filtering with RAlt too
   (from samlyukov)

2. Mantis#0002226: Transliteration in menu filters
   (from DAtaMan)

drkns 17.12.2012 21:17:21 +0200 - build 3030

1. Instant update of colors on file group masks change.

2. Mouse malfunction in mask groups menu.

lort 17.12.2012 19:13:09 +0400 - build 3029

1. Problems with F11 and F12 in menus (Mantis#0002225)

2. Dialogs now receive F11 via DN_CONTROLINPUT

drkns 16.12.2012 21:55:11 +0200 - 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.

shmuel 16.12.2012 20:48:37 +0200 - build 3027

1. Refactoring.

drkns 15.12.2012 20:37:00 +0200 - build 3026

1. '}' hotkey was processed incorrectly in user menu.

shmuel 16.12.2012 08:50:59 +0200 - build 3025

1. Correction of 3016.1.

drkns 15.12.2012 20:37:00 +0200 - build 3024

1. ':' hotkey was processed incorrectly in user menu.

2. Adding const to ImportedFunctions.

shmuel 15.12.2012 19:44:50 +0200 - build 3023

1. Refactoring.

drkns 15.12.2012 19:15:29 +0200 - 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.

w17 15.12.2012 20:54:59 +0400 - build 3021

1. Correction of 3019.

drkns 15.12.2012 12:32:56 +0200 - build 3020

1. Forum: Inconvenient autocompletion list behavior in dialogs

w17 15.12.2012 13:20:40 +0400 - 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...)

drkns 15.12.2012 00:38:42 +0200 - build 3018

1. Analyzer warnings.

drkns 14.12.2012 21:27:36 +0200 - build 3017

1. Correction of 2059.

shmuel 14.12.2012 20:06:29 +0200 - 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.

lort 14.12.2012 17:54:22 +0400 - build 3015

1. FarGetPluginInformation.GInfo->MinFarVersion field was not filled correctly at PCTL_GETPLUGININFORMATION call

svs 14.12.2012 17:00:22 +0400 - build 3014

1. SQLite 3.7.15

svs 14.12.2012 16:33:53 +0400 - 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


zg 14.12.2012 02:09:58 +0200 - build 3012

1. correction of 3010.

drkns 14.12.2012 00:44:47 +0200 - build 3011

1. For shortcuts to plugin directories detailed information is now displayed, they can be renamed and edited.

2. Refactoring.

shmuel 14.12.2012 00:32:18 +0200 - build 3010

1. Restoring the feature from 2882 broken in 2999.

svs 13.12.2012 15:21:08 +0400 - 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

drkns 12.12.2012 23:46:06 +0200 - 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.

drkns 12.12.2012 23:16:57 +0200 - build 3007

1. 0002221: Unable to see "Network path" for disconnected drive

shmuel 12.12.2012 16:28:12 +0200 - build 3006

1. Refactoring.

svs 12.12.2012 17:55:40 +0400 - build 3005

1. SetDirectoryInfo::UserData.
   intptr_t UserData (=0) optional parameter added to inner functions PluginManager::SetDirectory, PluginA::SetDirectory and Plugin::SetDirectory.

drkns 12.12.2012 01:10:26 +0200 - build 3004

1. On macros save, garbage was written instead of flags and attempts of unused flags saving were taken.

shmuel 10.12.2012 16:18:18 +0200 - build 3003

1. Correction of 3002.1.

shmuel 09.12.2012 23:31:07 +0200 - 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.

shmuel 09.12.2012 15:57:57 +0200 - build 3001

1. Macros moved from macros.db to %FARPROFILE%\Macros directory and are placed in Lua files.

drkns 08.12.2012 23:28:08 +0200 - build 3000

1. 0002219: PCTL_GETPLUGININFORMATION error

2. Some more refactoring.

shmuel 08.12.2012 22:57:29 +0200 - build 2999

1. far.MacroPost() worked from plugins, buf not from macros.

lort 07.12.2012 17:12:09 +0400 - build 2998

1. Assertion in debug build after files packing.

w17 05.12.2012 16:44:28 +0400 - build 2997

1. continuation of continuation of 2995

w17 05.12.2012 15:31:40 +0400 - build 2996

1. continuation of 2995

w17 05.12.2012 14:53:22 +0400 - build 2995

1. Refactoring.

shmuel 05.12.2012 02:46:44 +0200 - build 2994

1. Refactoring.

drkns 04.12.2012 21:09:45 +0200 - build 2993

1. System.QuotedName parameter is 1 by default (quote only when inserting to editor/command line).

w17 04.12.2012 17:02:23 +0400 - 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).

drkns 04.12.2012 01:04:09 +0200 - build 2991

1. Menus could not be closed with a mouse click outside the menu. Outside-menu clicks configuration did not work either.

svs 03.12.2012 17:22:51 +0400 - build 2990

1. Correction of the help, including TI:
   #33 System.MsWheelDelta* & System.MsHWheelDelta*
   #30 Policies.ShowHiddenDrives

drkns 02.12.2012 12:42:54 +0200 - build 2989

1. Continuation of 2987.

drkns 02.12.2012 01:20:47 +0200 - build 2988

1. Continuation of 2987.

drkns 01.12.2012 23:53:07 +0200 - build 2987

1. 0002212: Long volume labels are cropped
   The widths of all volume menu columns are now calculated automatically.

w17 01.12.2012 14:01:35 +0400 - build 2986

1. fix(2985) - FAR crash on file saving from the editor

drkns 30.11.2012 22:50:38 +0200 - build 2985

1. Continuing the refactoring.

w17 30.11.2012 05:44:35 +0400 - build 2984

1. vs 2010 buildable fix(2983). gcc < 4.6.1 is not supported anymore

drkns 29.11.2012 23:30:26 +0200 - build 2983

1. Continuation of 2953.

lort 29.11.2012 18:13:34 +0400 - build 2982

1. Incorrect DM_SETEDITPOSITION functions if EditorSetPosition has any parameter set to -1.

drkns 29.11.2012 01:00:22 +0200 - build 2981

1. Continuation of 2953.

w17 29.11.2012 02:57:41 +0400 - build 2980

1. M#1494: Crash on sequential closing and opening the editor from a plugin.

w17 28.11.2012 19:22:32 +0400 - build 2979

1. search failure after '\0' in editor

drkns 28.11.2012 00:23:56 +0200 - build 2978

1. Continuation of 2953.

shmuel 27.11.2012 15:58:53 +0200 - 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.

shmuel 25.11.2012 19:08:41 +0200 - 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.

svs 25.11.2012 20:06:39 +0400 - build 2975

1. Correction of GetSearchReplaceString - hiding All button.

shmuel 25.11.2012 10:44:34 +0200 - build 2974

1. Macro API: Mouse.LastCtrlState property is added, unlike Mouse.CtrlState, it is
   updated both on mouse and keyboard events.

drkns 24.11.2012 15:48:39 +0200 - build 2973

1. Continuation of 2972.

w17 23.11.2012 18:15:56 +0400 - build 2972

1. Continuation of 2791
   [System Properties] malfunction in file attributes dialog on old Windows versions

shmuel 23.11.2012 11:51:43 +0200 - build 2971

1. Plugins API: in GetDirList and FSF.FarRecursiveSearch functions, some fields of PluginPanelItem structure
   contained garbage.

shmuel 22.11.2012 19:58:34 +0200 - build 2970

1. Forum: Menu.Show(Items,"",0x8+0x80,Idx) does not position to item with number Idx.

drkns 22.11.2012 19:41:01 +0200 - build 2969

1. Excessive SetCurrentDirectory call in launcher.

lort 22.11.2012 21:06:41 +0400 - build 2968

1. Crash when copying selected block in viewer.

shmuel 21.11.2012 23:59:49 +0200 - build 2967

1. Correction of 2966.

shmuel 21.11.2012 22:19:38 +0200 - build 2966

1. M#2163: LUA: DisableOutput flag does not work

w17 21.11.2012 22:16:55 +0400 - build 2965

1. truemod broken aka 'no' to regexps (from sonar)

drkns 21.11.2012 00:02:24 +0200 - build 2964

1. Continuation of 2953.1.

drkns 20.11.2012 21:44:24 +0200 - build 2963

1. 0002203: Import malfunction

drkns 20.11.2012 21:31:35 +0200 - build 2962

1. 0002202: Crash on plugin loading/unloading

svs 20.11.2012 13:03:29 +0400 - 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.

svs 20.11.2012 12:48:10 +0400 - build 2960

1. Typos

2. Conflicting hotkeys in editor settings dialog

svs 20.11.2012 11:01:50 +0400 - 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()

drkns 19.11.2012 23:08:59 +0200 - build 2958

1. Forum: pressing Enter on a boolean value in far:config causes a crash.

drkns 19.11.2012 23:04:39 +0200 - build 2957

1. Continuing global variables elimination.

drkns 19.11.2012 13:47:53 +0200 - build 2956

1. Correction of 2953.1.

w17 19.11.2012 14:53:38 +0400 - build 2955

1. Correction of 2926
   'plugin' flag lost in refactoring which lead to plugin settings loading failure from default configuration.

shmuel 19.11.2012 12:11:54 +0200 - build 2954

1. Far.Cfg_Get() macrofunction works for all settings displayed in far:config.

drkns 18.11.2012 20:44:29 +0200 - 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.

drkns 18.11.2012 09:55:22 +0200 - build 2952

1. Correction of alignment for debug builds.

shmuel 18.11.2012 01:29:46 +0200 - 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.

svs 13.11.2012 20:32:42 +0400 - 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

zg 12.11.2012 15:08:38 +0200 - build 2949

1. forum: Far.DisableHistory is broken for everyone or just me ?

lort 11.11.2012 16:47:46 +0400 - build 2948

1. If a menu does not fit the screen height, draw it upwards.

w17 11.11.2012 16:31:30 +0400 - build 2947

1. Another correction of 2943

lort 11.11.2012 15:27:16 +0400 - build 2946

1. Correction of 2944

w17 11.11.2012 09:54:32 +0400 - build 2945

1. Correction of 2943

t-rex 11.11.2012 03:34:35 +0200 - 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.

w17 10.11.2012 22:33:19 +0400 - build 2943

1. Fix for viewer search with persistent selection off.

drkns 10.11.2012 20:17:07 +0200 - build 2942

1. Another bug with new menus - for regular dialogs InitDialogObjects() was called twice, sometimes with interesting consequences.

lort 09.11.2012 23:06:48 +0400 - 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

t-rex 09.11.2012 17:29:21 +0200 - build 2940

1. "Right click selects files" option in "Panel Settings".

shmuel 08.11.2012 18:25:29 +0200 - build 2939

1. M#2192: artifacts after macro loading errors.

shmuel 08.11.2012 10:38:50 +0200 - build 2938

1. Correction of 2923 (_control87 call moved from FAR to LuaMacro plugin).

t-rex 07.11.2012 20:33:12 +0200 - 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.

lort 07.11.2012 21:56:16 +0400 - build 2936

1. When autocompletion menu was open, "." could not be entered from numeric keyboard.

shmuel 06.11.2012 21:41:14 +0200 - build 2935

1. M#2189: In editor, Keys('CtrlX') always uses Windows clipboard.

lort 06.11.2012 20:21:06 +0400 - build 2934

1. Dlg.Id and Dlg.Owner malfunction with open autocompletion menu.

2. Correction of 2897.3

w17 06.11.2012 14:08:45 +0400 - build 2933

1. viewer dump mode autodetect fixed

w17 06.11.2012 09:49:47 +0400 - build 2932

1. correction of 2915

shmuel 05.11.2012 18:00:53 +0200 - build 2931

1. Correction of 2923 ("debug asserion failed" for x64).

w17 05.11.2012 18:18:43 +0400 - build 2930

1. M#2187: malfunctional "@" and SilentExternal for external Viewer/Editor call

w17 05.11.2012 06:29:56 +0400 - build 2929

1. M#2185: Error while setting colors of sorting groups files

shmuel 04.11.2012 01:06:54 +0200 - build 2928

1. M#2183: A macro cannot insert the end of line.

drkns 03.11.2012 19:26:52 +0200 - build 2927

1. Another couple of issues.

drkns 03.11.2012 17:42:08 +0200 - build 2926

1. Continuing refactoring of configdb.

2. Refactoring of BitFlags.

zg 03.11.2012 17:01:30 +0200 - build 2925

1. correction of VCTL_SETKEYBAR and Param2=-1.

drkns 02.11.2012 23:59:11 +0200 - build 2924

1. Correction of 2920.

shmuel 02.11.2012 23:03:34 +0200 - build 2923

1. Experimental: preventing crashes from division by zero for plugins setting FPU exceptions on.

shmuel 02.11.2012 17:59:31 +0200 - build 2922

1. FarMacroCall structure is streamlined.

drkns 02.11.2012 02:18:10 +0200 - build 2921

1. Continuation of 2920.

drkns 02.11.2012 02:05:17 +0200 - build 2920

1. Slightly refactoring of configdb.

zg 01.11.2012 23:05:49 +0200 - build 2919

1. OPEN_FROM_MASK is removed for uselessness.

zg 01.11.2012 22:16:49 +0200 - build 2918

1. ViewerMode.Type -> ViewerMode.ViewMode.

2. VSMT_HEX -> VSMT_VIEWMODE.

w17 01.11.2012 18:06:23 +0400 - build 2917

1. correction of 2913, 2914, 2916 - 'panelmodes' were not loaded

w17 01.11.2012 16:05:57 +0400 - 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).

w17 01.11.2012 12:52:48 +0400 - build 2915

1. M#2181: crash after VE_READ.

w17 31.10.2012 11:54:41 +0400 - build 2914

1. correction of 2913 - fixing broken export

w17 30.10.2012 20:12:55 +0400 - 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.

zg 30.10.2012 00:20:23 +0200 - 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

lort 29.10.2012 18:35:55 +0400 - build 2911

1. Return scren redraw in dialog destructor.

2. History menu remained on screen after launch a command displaying nothing.

shmuel 29.10.2012 16:02:33 +0200 - build 2910

1. No 'P' symbol in upper left corner of the screen while running editor/viewer macro starting from mf.waitkey(0)

drkns 28.10.2012 21:40:06 +0200 - build 2909

1. Warnings.

zg 28.10.2012 17:11:29 +0200 - build 2908

1. gcc warnings.

zg 28.10.2012 01:57:25 +0200 - 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.

zg 27.10.2012 23:55:03 +0200 - build 2906

1. regression in 1605.2.

zg 27.10.2012 22:54:17 +0200 - build 2905

1. correction of 2882.

shmuel 27.10.2012 20:52:46 +0200 - build 2904

1. If a plugin returns 1 or INVALID_HANDLE_VALUE on OPEN_FROMMACRO call then Plugin.Call returns true.

shmuel 25.10.2012 22:48:24 +0200 - 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.

shmuel 25.10.2012 12:10:48 +0200 - build 2902

1. Correction of 2898.

w17 25.10.2012 13:41:27 +0400 - build 2901

1. M#2179, RCtrlIns/Num0 are not processed in FastFind (CtrlIns is enough to get the text)

lort 24.10.2012 19:07:51 +0400 - build 2900

1. Fix for redraw in autocompletion.

2. Disable CtrlF5 in history and F11 in plugins menu.

shmuel 24.10.2012 01:52:21 +0200 - 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

shmuel 24.10.2012 00:16:56 +0200 - build 2898

1. M#2170: Malfunction of Plugin.Call 'async' mode, which should be activated by mmode(3, 1) command.

lort 23.10.2012 19:19:23 +0400 - 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.

shmuel 21.10.2012 10:41:54 +0200 - build 2896

1. If a macro had DisableOutput and Plugin.Call() displayed a dialog, it was not shown on screen.

shmuel 20.10.2012 19:43:21 +0200 - 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.

zg 20.10.2012 11:21:39 +0200 - build 2894

1. correction of 2893.

shmuel 20.10.2012 08:21:04 +0200 - 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.

shmuel 19.10.2012 15:49:37 +0200 - build 2892

1. Refactoring.

shmuel 18.10.2012 23:55:32 +0200 - build 2891

1. Plugin.Call returns 0 if the plugin is not found (i. e. as before transition to Lua).

svs 15.10.2012 17:47:39 +0400 - build 2890

1. "Typos"

svs 15.10.2012 12:09:58 +0400 - 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

shmuel 15.10.2012 01:36:45 +0200 - build 2888

1. Refactoring.

shmuel 14.10.2012 15:29:04 +0200 - build 2887

1. Far->LuaFAR->LuaMacro data exchange protocol is slightly simplified.

zg 14.10.2012 04:05:26 +0200 - build 2886

1. on error while macro initialization the upper left screen character "freezed".

shmuel 13.10.2012 14:23:03 +0200 - 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.

zg 12.10.2012 03:04:19 +0200 - build 2884

1. correction of 2882.

zg 12.10.2012 01:24:21 +0200 - build 2883

1. correction of 2882.

zg 11.10.2012 23:22:48 +0200 - build 2882

1. experimental.
   macros work in interactive objects, such as dialogs created from macros.

zg 11.10.2012 21:24:04 +0200 - build 2881

1. FAR crash if no luamacro plugin present while macros do exist.

shmuel 11.10.2012 17:14:46 +0200 - 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.

shmuel 09.10.2012 11:34:47 +0200 - build 2879

1. MacroControl(MCTL_SENDSTRING,MSSC_CHECK) function also checks files if Sequence[0]=='@'.

t-rex 08.10.2012 21:26:43 +0200 - 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).

shmuel 08.10.2012 08:29:17 +0200 - build 2877

1. Fix: (in editor) "after macro call, text is displayed on screen only after key press".

t-rex 07.10.2012 15:56:20 +0200 - build 2876

1. Warnings, MACROMODEAREA type is set where needed.

shmuel 07.10.2012 09:13:46 +0200 - build 2875

1. Forum: quotation marks (") no longer supported in macros.

shmuel 07.10.2012 00:43:45 +0200 - 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).

zg 07.10.2012 00:17:08 +0200 - 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.

t-rex 06.10.2012 20:40:23 +0200 - build 2872

1. x64 warnings in DialogBuilder.

t-rex 06.10.2012 18:48:30 +0200 - 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.

svs 05.10.2012 13:55:08 +0400 - build 2870

1. SQLite 3.7.14.1

shmuel 05.10.2012 01:49:35 +0200 - 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.

w17 04.10.2012 16:37:06 +0400 - build 2868

1. Visible leading space(s) in dialog static text

w17 04.10.2012 15:26:15 +0400 - build 2867

1. 0002167: Crash on Copy File/Folder Interrupt

zg 04.10.2012 05:41:56 +0200 - build 2866

1. ECTL_SETPOSITION did not work in wrapper.

w17 03.10.2012 23:49:25 +0400 - build 2865

1. Viewer assert for looooooooooong lines

shmuel 03.10.2012 16:05:55 +0200 - build 2864

1. Disable macro recording if LuaMacro plugin is not loaded.
   (M#2161: Macros malfunction if LUA dll's set is incomplete).

w17 03.10.2012 12:50:50 +0400 - build 2863

1. Loacl [x] ShowWhiteSpace broken in editor (and not only there)

drkns 02.10.2012 22:11:59 +0200 - build 2862

1. 0002165: Encoding selection cancellation

shmuel 02.10.2012 18:40:00 +0200 - build 2861

1. Erroneous rollback of changes in build 2859.

shmuel 02.10.2012 17:40:00 +0200 - build 2860

1. M#2160: Macro with Menu.Select works in Shell but not in Dialog and Editor.

svs 02.10.2012 17:43:33 +0400 - 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

shmuel 02.10.2012 14:30:00 +0200 - build 2858

1. M#2162: FAR crash at start when used as editor for Git (perhaps because of the new macro engine).

zg 01.10.2012 16:18:35 +0200 - build 2857

1. FAR_LUA is removed completely, so is the code that was excluded by its presence.

svs 01.10.2012 16:05:34 +0400 - 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

shmuel 01.10.2012 03:25:00 +0200 - build 2855

1. Correction of 2854 for more common case.

shmuel 01.10.2012 02:05:00 +0200 - build 2854

1. Dlg.GetValue error (from Aidar).

shmuel 30.09.2012 13:50:00 +0200 - build 2853

1. Issue#13: Plugin.Menu waits for menu close instead of returning immediately after menu show.

zg 30.09.2012 03:41:42 +0200 - build 2852

1. FAR_LUA is removed from plugin.hpp.

zg 30.09.2012 03:26:20 +0200 - 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.

drkns 29.09.2012 15:20:18 +0200 - build 2850

1. Correction of 2844 for fields with input mask.

2. far:config crash after changes in api.

3. Projects for vs 2012.

zg 29.09.2012 13:35:44 +0200 - build 2849

1. correction of 2848: UserData.Data was not freed for elements which did not match search criterions.

zg 29.09.2012 03:30:26 +0200 - build 2848

1. correction of 2807.1: freeing UserData.Data in search and some other places.

drkns 29.09.2012 00:47:40 +0200 - build 2847

1. Finishing (I hope) this codepage related stuff. For the future, I'd appreciate proper fixes instead of monkey patching.

w17 28.09.2012 08:45:42 +0400 - build 2846

1. M#2157: Alt-F7: file content search gives no result on fresh 64-bit versions (aka 2838 continue)

w17 28.09.2012 08:09:25 +0400 - build 2845

1. GETTEXT returned L"\0"; instead of empty string

drkns 27.09.2012 22:45:22 +0200 - build 2844

1. Highlight text in dialog text field ending with spaces or tabulations.

drkns 27.09.2012 19:13:43 +0200 - build 2843

1. HANDLE hPanel removed from ProcessConsoleInputInfo.

w17 27.09.2012 11:58:13 +0400 - build 2842

1. M#2156: Shift-F4: file contents lost on save (aka 2838 continue)

w17 26.09.2012 10:49:55 +0400 - build 2841

1. another excessive one

w17 26.09.2012 10:14:11 +0400 - build 2840

1. wrong fix for a 'typo', rolling back

w17 26.09.2012 10:00:52 +0400 - build 2839

1. -typos in dialog.cpp (thnx sonar)

w17 25.09.2012 19:48:01 +0400 - build 2838

1. x64 Editor fix

svs 24.09.2012 11:32:50 +0400 - build 2837

1. Mantis#0001687: ProcessConsoleInput
   Open.
   Bugs go to new tickets.

w17 24.09.2012 10:52:12 +0400 - build 2836

1. Debug build fix

zg 23.09.2012 21:22:44 +0200 - build 2835

1. ACTL_EJECTMEDIA is removed.

zg 23.09.2012 20:56:39 +0200 - build 2834

1. from Alexey Samlyukov:
   PluginPanelItem.UserData.UserData -> PluginPanelItem.UserData.Data
   PluginPanelItem.UserData.Callback -> PluginPanelItem.UserData.FreeData

drkns 23.09.2012 20:31:24 +0200 - build 2833

1. intptr_t & DlgBuilder

2. Leave vswscanf for gcc.

zg 23.09.2012 20:03:02 +0200 - build 2832

1. vc has no vswscanf.

zg 23.09.2012 19:12:13 +0200 - build 2831

1. in API, some UINT/DWORD are replaced with uintptr_t.

zg 23.09.2012 17:19:39 +0200 - build 2830

1. int is replaced with intptr_t throughout whole API.

zg 23.09.2012 03:09:28 +0200 - build 2829

1. Reserved is added to a couple of structures.

2. StructSize field is added to the following structures:
   FarDialogEvent
   FarList

zg 23.09.2012 01:52:19 +0200 - build 2828

1. ViewerMode is redone. Wrap&WordWrap -> Flags. Hex -> Type.

zg 23.09.2012 00:37:48 +0200 - build 2827

1. PanelMode got rid of StructSize field.

2. some structures lost the Reserved field.

drkns 23.09.2012 00:00:16 +0200 - 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.

zg 22.09.2012 22:38:35 +0200 - build 2825

1. in InfoPanelLine, Separator is replaced with Flags. IPLFLAGS_SEPARATOR flag is added.
   all native plugins are broken.

zg 22.09.2012 21:37:30 +0200 - build 2824

1. in ECTL_SETKEYBAR/VCTL_SETKEYBAR, FarSetKeyBarTitles must be passed instead of KeyBarTitles.

zg 22.09.2012 04:39:38 +0200 - build 2823

1. From Shmuel Zeigerman: correction of 2822.

zg 22.09.2012 02:25:21 +0200 - build 2822

1. for obvious reasons, PInfo and GInfo fields in FarGetPluginInformation are made pointers.
   PCTL_GETPLUGININFORMATION functioning is unchanged.

zg 22.09.2012 01:17:59 +0200 - build 2821

1. StructSize field added to the following structures:
   FarSettingsItem
   FarSettingsEnum
   FarSettingsValue
   all native plugins are broken.

zg 21.09.2012 17:01:33 +0200 - 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.

w17 21.09.2012 13:02:47 +0400 - build 2819

1. M#1870: in Show selected first, selection of the last item gets the cursor "jump" to the item

zg 21.09.2012 02:25:27 +0200 - build 2818

1. ACTL_ENABLEREDRAW is removed.

zg 21.09.2012 02:15:53 +0200 - build 2817

1. SessionBookmarkCount field is added to EditorInfo.

zg 21.09.2012 02:01:45 +0200 - build 2816

1. for ECTL_GETFILENAME the buffer size is passed in Param1.

zg 21.09.2012 00:43:26 +0200 - 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.

zg 20.09.2012 22:32:55 +0200 - build 2814

1. correction of 2807.1.

zg 20.09.2012 21:24:01 +0200 - 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.

w17 20.09.2012 16:44:39 +0400 - build 2812

1. size_t in Read/Write

zg 20.09.2012 13:28:23 +0200 - build 2811

1. changes in ProcessPanelEventInfo by Alexey Samlyukov.
   all native plugins are broken.

2. GetVirtualFindDataInfo, FreeVirtualFindDataW and GetVirtualFindDataW are removed.

lort 19.09.2012 19:52:41 +0400 - 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

w17 19.09.2012 13:40:39 +0400 - build 2809

1. correction of 2794

zg 19.09.2012 00:47:09 +0200 - build 2808

1. correction of 2807.1.

zg 18.09.2012 22:33:00 +0200 - 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.

zg 17.09.2012 16:55:00 +0200 - build 2806

1. correction of 2799.

w17 17.09.2012 12:54:32 +0400 - build 2805

1. fix for 2797.1

zg 17.09.2012 03:15:55 +0200 - build 2804

1. DM_GETTEXTLENGTH & DM_GETTEXTPTR are removed.
   some native plugins are broken.

zg 16.09.2012 20:27:31 +0200 - 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.

zg 16.09.2012 18:29:46 +0200 - build 2802

1. for OPEN_COMMANDLINE, pointer to OpenCommandLineInfo is passed instead of pointer to a string.
   all native plugins are broken.

zg 16.09.2012 17:12:23 +0200 - 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.

zg 16.09.2012 15:48:35 +0200 - build 2800

1. StructSize field is added to the following structures:
   ViewerSetMode
   ViewerSelect
   ViewerSetPosition
   all native plugins are broken.

zg 16.09.2012 14:35:28 +0200 - build 2799

1. StructSize field is added to the following structures:
   FarGetPluginPanelItem
   PanelRedrawInfo
   CmdLineSelect
   ActlEjectMedia
   ActlMediaType
   FarGetValue
   FarSetColors
   ProgressValue
   all native plugins are broken.

w17 12.09.2012 01:00:31 +0400 - build 2798

1. Editor [Shift]F8 and KeyBar

w17 11.09.2012 18:33:46 +0400 - 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

svs 07.09.2012 16:44:59 +0400 - 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

svs 07.09.2012 14:09:44 +0400 - 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.

w17 05.09.2012 16:19:47 +0400 - build 2794

1. M#2135: typing 'shift + letter' diacritic sequence also outputs the + character
   (from Maximus)

svs 04.09.2012 20:02:31 +0400 - 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

w17 04.09.2012 19:41:42 +0400 - build 2792

1. M#2147 -- UTF7 excluded from FindFile 'AllCodepages'

drkns 27.08.2012 15:26:16 +0200 - build 2791

1. Properties could not be shown in the disk menu in old Windows versions.

drkns 25.08.2012 23:22:21 +0200 - build 2790

1. Info panel invocation could cause crash in some cases.

w17 14.08.2012 20:17:00 +0400 - build 2789

1. M#0002144: Interface.CtrlPgUp option change was not stored

w17 13.08.2012 13:40:46 +0400 - build 2788

1. continue 2787

w17 09.08.2012 17:32:48 +0400 - 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 08.08.2012 15:51:16 +0400 - 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

w17 06.08.2012 08:23:39 +0400 - build 2785

1. correction of 2782

w17 31.07.2012 13:43:58 +0400 - build 2784

1. FileList fix
   Initializing all members, correcting the numbers of selected items on update.

w17 30.07.2012 22:12:25 +0400 - build 2783

1. VMENU_WRAPMODE is used again for DI_LISTBOX
   If the flag is present then wrap-stop, else wrap-none :)

w17 29.07.2012 13:54:09 +0400 - build 2782

1. M#2139: inconsistent error message when trying to create a file with same name as existing directory

w17 28.07.2012 22:39:24 +0400 - build 2781

1. 2754 again

w17 28.07.2012 19:35:45 +0400 - build 2780

1. another correction for 2766

w17 25.07.2012 17:59:51 +0400 - build 2779

1. M#2138 Shift-F1 does not work for archiver change

w17 25.07.2012 15:52:30 +0400 - build 2778

1. more of 2766 - not all checks were switched off

w17 25.07.2012 14:31:47 +0400 - build 2777

1. correction of wrap-stop for 'custom' with DN_GETVALUE.

w17 25.07.2012 13:20:38 +0400 - build 2776

1. once more, correction of 2754

w17 25.07.2012 12:56:49 +0400 - 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.

w17 25.07.2012 00:57:48 +0400 - build 2774

1. M#0002137: VCTL_GETINFO returns true even if there's no viewers opened

w17 24.07.2012 12:36:10 +0400 - build 2773

1. keyboard.cpp - removed useless(?) piece of code

w17 23.07.2012 13:36:10 +0400 - build 2772

1. Launcher and Opt.Clock

drkns 20.07.2012 13:32:50 +0200 - build 2771

1. Correction in the launcher.

w17 20.07.2012 01:10:43 +0400 - build 2770

1. correction of 2675

drkns 19.07.2012 23:35:49 +0200 - build 2769

1. If volume free size could not be obtained, show "?" in panel status line instead of "0".

zg 14.07.2012 16:42:43 +0200 - build 2768

1. file corruption when copying files of size over 4gb when system copy routine is off.

w17 13.07.2012 22:29:29 +0400 - build 2767

1. correction of 2766

w17 13.07.2012 18:10:04 +0400 - 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

w17 11.07.2012 13:18:34 +0400 - build 2765

1. correction of 2754.
   check if something fixed for M#2128 has been broken.

2. correction of 2764.

w17 09.07.2012 13:32:49 +0400 - build 2764

1. 'plugincache.db' name depends on CPU arch.
   x86: plugincache32.db, x64: plugincache64.db, IA64: plugincacheIA64.db

w17 09.07.2012 07:59:11 +0400 - build 2763

1. The clock is not working in Far 3 Viewer

w17 09.07.2012 06:50:52 +0400 - build 2762

1. more correction on 2757

w17 08.07.2012 17:22:26 +0400 - build 2761

1. correction of correction of 2757 (10x Denis)

w17 08.07.2012 16:50:44 +0400 - build 2760

1. correction of 2757 (from Shmuel)

drkns 05.07.2012 21:37:04 +0200 - build 2759

1. 0002132: If FAR has started at directory junction, privilege elevation does not work

w17 05.07.2012 17:33:42 +0400 - build 2758

1. M#2130: Active panel contents disappear when info panel on the other panel is opened.

w17 05.07.2012 11:43:50 +0400 - build 2757

1.M#2129: After FAR startup, ".." in the root of a network share is missing.

w17 04.07.2012 12:16:35 +0400 - 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.

svs 03.07.2012 13:37:10 +0400 - build 2755

1. SQLite 3.7.13

w17 03.07.2012 12:05:08 +0400 - build 2754

1. M#2128: Folders containing more than 128 files at network share cannot be viewed

w17 28.06.2012 17:15:04 +0400 - build 2753

1. continuation of continuation of 2751

w17 28.06.2012 16:02:33 +0400 - build 2752

1. continuation of 2751

w17 28.06.2012 14:21:36 +0400 - build 2751

1. endless loop in editor replace reverse search
   replacement of, say, ';' to ';+' never finished...


w17 27.06.2012 21:44:29 +0400 - build 2750

1. another correction of 2748 - avoid code duplication

w17 27.06.2012 16:45:39 +0400 - build 2749

1. correction of 2748

w17 27.06.2012 15:43:12 +0400 - 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.

drkns 24.06.2012 16:21:55 +0200 - build 2747

1. Correction of 2738.

w17 23.06.2012 21:30:59 +0400 - build 2746

1. M#1632: Correction of click position for codepages and Goto
   ViewMode is clickable

w17 22.06.2012 17:48:01 +0400 - build 2745

1. M#1607: time setting error when copying to own share
   M$ surprise workaround

w17 22.06.2012 01:38:30 +0400 - build 2744

1. 2471 again - building the sorting table with the use of CompareString standard sorting

w17 21.06.2012 15:23:20 +0400 - build 2743

1. another correction of 2741

w17 21.06.2012 15:15:05 +0400 - build 2742

1. correction of 2741

w17 21.06.2012 14:53:36 +0400 - 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

drkns 20.06.2012 20:47:54 +0200 - build 2740

1. Correction of unknown reparse points displaying.

w17 20.06.2012 21:43:35 +0400 - build 2739

1. FileList::Find -- case sensitive/insetsitive compare logic fixed

drkns 17.06.2012 22:01:04 +0200 - 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.

drkns 17.06.2012 18:36:59 +0200 - build 2737

1. Search malfunction in ADS.

drkns 17.06.2012 13:10:15 +0200 - build 2736

1. Crash at start if access to start directory is denied.

drkns 16.06.2012 16:03:01 +0200 - build 2735

1. Panel.CtrlFRule (TI#14) is off by default.

drkns 16.06.2012 01:36:09 +0200 - build 2734

1. Correction of 2733.

drkns 15.06.2012 23:09:58 +0200 - build 2733

1. elevation: OpenVirtualDisk support and some makeup.

w17 15.06.2012 15:30:17 +0400 - build 2732

1. EXPERIMENTAL. M#2103: This version of %1 is not compatible with the version of Windows you're running

svs 14.06.2012 12:58:15 +0400 - build 2731

1. Mantis#0002068: Bug displaying panels size after a command (for example "pause")

drkns 13.06.2012 09:15:54 +0200 - 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.

drkns 11.06.2012 16:18:00 +0200 - build 2729

1. With "auto save setup", highlighting groups were stored incorrectly.

drkns 09.06.2012 19:34:06 +0200 - build 2728

1. Endless search for all matches of /^$/m regex

zg 09.06.2012 18:44:36 +0200 - build 2727

1. 0002125: Errors with highlighting in editor

drkns 09.06.2012 14:02:57 +0200 - build 2726

1. Minor fixes in elevation and copier.

2. DialogBuilder did not support negative numbers input.

drkns 08.06.2012 15:36:03 +0200 - build 2725

1. Third state of checkboxes was not stored in settings.

w17 08.06.2012 09:51:35 +0400 - 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

w17 07.06.2012 13:35:13 +0400 - build 2723

1. M#2124: /$/m regex "non-standard" behavior

w17 05.06.2012 21:27:50 +0400 - 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]

svs 04.06.2012 16:21:07 +0400 - build 2721

1. A typo for Debug

2. SQLite 3.7.12.1

drkns 02.06.2012 14:54:41 +0200 - build 2720

1. Completion with CtrlSpace did not work.

drkns 02.06.2012 00:32:29 +0200 - build 2719

1. More on %pathext% + a couple of issues.

drkns 01.06.2012 14:56:00 +0200 - build 2718

1. Correction of privileges check.

drkns 01.06.2012 14:15:50 +0200 - build 2717

1. F4 and CtrlH processing is added to far:config.

drkns 01.06.2012 13:05:50 +0200 - build 2716

1. %pathext% variable was not expanded in mask groups.

drkns 01.06.2012 08:05:48 +0200 - build 2715

1. Forgotten debug code in 2702 :)

drkns 01.06.2012 00:09:33 +0200 - build 2714

1. Continuation of 2707.

drkns 31.05.2012 08:18:28 +0200 - build 2713

1. gcc build, a better way does exist.

w17 31.05.2012 01:08:59 +0400 - build 2712

1. gcc build (a better way may exist ?)

drkns 30.05.2012 20:57:08 +0200 - build 2711

1. Correction of 2131.2.

drkns 30.05.2012 19:27:12 +0200 - build 2710

1. A typo in 2707.

w17 30.05.2012 20:16:33 +0400 - 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

drkns 30.05.2012 18:20:05 +0200 - build 2708

1. Correction of 2707.1.

drkns 30.05.2012 14:35:00 +0200 - 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.

w17 30.05.2012 05:51:52 +0400 - build 2706

1. 2122: Incorrect comparison of catalogs from menu item Commands - Compare Folders

w17 29.05.2012 13:30:08 +0400 - build 2705

1. 2115: Unable to view files found with a search in temporary panel

drkns 25.05.2012 08:35:25 +0200 - build 2704

1. Correction of 2702.2.

drkns 25.05.2012 00:34:44 +0200 - build 2703

1. Correction of 2702.1.

drkns 25.05.2012 00:06:38 +0200 - 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.

drkns 24.05.2012 20:38:20 +0200 - build 2701

1. In some cases, file panel refresh could crash FAR.

drkns 24.05.2012 10:59:24 +0200 - build 2700

1. 0002112: Command line autocompletion does not work after commands history dialog use

w17 23.05.2012 09:54:59 +0400 - build 2699

1. Fix for 2679.1

w17 23.05.2012 05:08:42 +0400 - build 2698

1. Correction of 2676.1

drkns 21.05.2012 23:06:13 +0200 - build 2697

1. Some reduction of ImportedFunctions code.

w17 21.05.2012 13:19:37 +0400 - build 2696

1. 2679.4 - after Esc, the scan results are shown without a delay

drkns 21.05.2012 10:12:45 +0200 - build 2695

1. Correction of 2601.

w17 20.05.2012 12:08:44 +0400 - build 2694

1. 2107: Crash while copying

drkns 19.05.2012 23:08:50 +0200 - build 2693

1. Continuation of 2690.

drkns 18.05.2012 16:02:47 +0200 - build 2692

1. Continuation of 2689.

drkns 18.05.2012 15:24:56 +0200 - build 2691

1. Continuation of 2690.

drkns 18.05.2012 14:21:09 +0200 - build 2690

1. Completion can be fine-tuned via far:config.
   Interface.Completion.Use???? options, 1 - use always, 2 - with manual call only.

drkns 18.05.2012 13:48:24 +0200 - build 2689

1. Transition to paths like cd \\?\GLOBALROOT\Device\Harddisk0\Partition1, \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy3 etc. did not work

drkns 18.05.2012 13:32:43 +0200 - build 2688

1. History settings are accessible via far:config.

2. Correction of 2683.

w17 18.05.2012 12:50:35 +0400 - build 2687

1. 2679.3 - after interrupting with Esc, the result of incomplete directory scanning is shown anyway

drkns 18.05.2012 09:49:36 +0200 - build 2686

1. Continuation of #0002102: ULF_UNIQUE without ULF_SORT could lead to incorrect order of items.

svs 18.05.2012 10:39:11 +0400 - 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

drkns 17.05.2012 20:42:33 +0200 - build 2684

1. Correction of 2683.

drkns 17.05.2012 20:18:36 +0200 - 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

w17 17.05.2012 13:38:16 +0400 - build 2682

1. 2679.2 - WIN key does not interrupt directory scan

w17 17.05.2012 13:12:53 +0400 - build 2681

1. 2679.1 - tilde

drkns 16.05.2012 21:45:11 +0200 - build 2680

1. Do not switch the autocompletion on while messages remain in console message queue.

w17 16.05.2012 13:58:29 +0400 - build 2679

1. M#2101: "quick search" may be cancelled with any key
   Color indication whether directory scan was aborted

2. 2676 - 'far /rw'

w17 16.05.2012 11:37:29 +0400 - build 2678

1. correction of 2676

svs 16.05.2012 10:04:17 +0400 - 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


w17 15.05.2012 19:31:43 +0400 - 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

w17 14.05.2012 14:17:56 +0400 - build 2675

1. 2673 continuation...
   identification of FAT, an option for disabling the panel catalog monitoring feature on focus lose

svs 14.05.2012 13:54:16 +0400 - 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

w17 12.05.2012 19:24:42 +0400 - build 2673

1. M#2098: File created by an external program did not appear in the active panel

svs 12.05.2012 14:00:53 +0400 - build 2672

1. Macro: "$break" operator is added - $rep and $while loops termination.

2. Correction of TVar::operator--() and TVar::operator++()

svs 11.05.2012 11:53:32 +0400 - build 2671

1. Mantis#0001891: Right-aligned extesions
   (from samlyukov)

svs 11.05.2012 11:34:27 +0400 - 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".

svs 10.05.2012 20:55:52 +0400 - 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".

drkns 10.05.2012 16:16:31 +0200 - build 2668

1. And once more.

drkns 10.05.2012 16:12:43 +0200 - build 2667

1. Correction of 2666.1.

drkns 10.05.2012 15:26:08 +0200 - 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.

w17 10.05.2012 16:09:01 +0400 - 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

svs 10.05.2012 15:06:25 +0400 - 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

svs 10.05.2012 12:06:11 +0400 - 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);

svs 05.05.2012 16:18:15 +0400 - build 2662

1. Mantis#0002095: Crash on history-guided transition to a plugin
   (from Maximus)

svs 04.05.2012 23:11:07 +0400 - build 2661

1. Correction of 2660

svs 04.05.2012 12:55:16 +0400 - 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...

drkns 04.05.2012 11:11:26 +0200 - build 2659

1. SetErrorMode was set later than necessary.

2. A couple of minor issues.

svs 03.05.2012 15:03:42 +0400 - 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"

svs 03.05.2012 10:04:23 +0400 - build 2657

1. Mantis#0001743: History switch off capability
   Correction of build 2338.

drkns 02.05.2012 21:30:43 +0200 - build 2656

1. Monitoring changes in folders opened in panels only if FAR has a focus.

drkns 02.05.2012 18:23:04 +0200 - build 2655

1. Continuation of 2655 - "Use Ctrl-PgUp to change drive" switch now has 3 positions.

drkns 02.05.2012 18:01:04 +0200 - build 2654

1. 0002093: Ctrl-PgUp shows volumes list only

svs 02.05.2012 10:25:17 +0400 - 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)

drkns 29.04.2012 16:19:25 +0200 - build 2652

1. 0002090: FAR crash at DIF_USELASTHISTORY

w17 29.04.2012 12:30:17 +0400 - build 2651

1. M#2091: Home button does not work in menu (M#2083)
   (from Maximus)

2. minimal 2605 correction

zg 28.04.2012 21:02:12 +0200 - build 2650

1. Problems with history while working with several FAR instances.

2. gcc warnings.

svs 28.04.2012 09:46:51 +0400 - 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.

svs 27.04.2012 18:06:47 +0400 - 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.

drkns 27.04.2012 13:46:30 +0200 - build 2647

1. Correction of 2646.1.

drkns 26.04.2012 20:35:56 +0200 - build 2646

1. Misc on far:config.

t-rex 26.04.2012 19:44:06 +0200 - build 2645

1. far:config showed System.BoxSymbols with garbage.

svs 26.04.2012 17:50:01 +0400 - 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%.

w17 26.04.2012 17:39:15 +0400 - build 2643

1. Viewer CRCRLF (as in the editor)

2. continuation of 2605

drkns 26.04.2012 00:34:11 +0200 - build 2642

1. And once more.

drkns 26.04.2012 00:10:19 +0200 - build 2641

1. Correction of 2640.1.

drkns 25.04.2012 20:34:13 +0200 - 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.

svs 25.04.2012 18:33:36 +0400 - build 2639

1. Correction of build 2626 on returning info about a macro.

zg 25.04.2012 15:13:51 +0200 - build 2638

1. a fix of gcc build with the use of winapi from mingw.org.

w17 25.04.2012 15:46:58 +0400 - build 2637

1. M#2087: Incorrect Esc processing in copy error dialog
   (from Maximus)

2. Removing a 'secret' key Help.FollowMouse

3. changelog -typos

svs 25.04.2012 11:57:18 +0400 - build 2636

1. Mantis#0000651: No link creation item in FAR menu

w17 25.04.2012 00:12:34 +0400 - 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.

drkns 24.04.2012 21:18:03 +0200 - build 2634

1. More correction on 2632.

svs 24.04.2012 17:44:04 +0400 - build 2633

1. Correction of 2632

svs 24.04.2012 17:16:28 +0400 - 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

drkns 22.04.2012 02:16:36 +0200 - build 2631

1. Drive menu was not invoked if '@:' drive had been opened in the panel.

svs 20.04.2012 13:36:55 +0400 - build 2630

1. Mantis#0001687: ProcessConsoleInput
   (from Maximus)

svs 20.04.2012 12:10:58 +0400 - 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.


w17 19.04.2012 15:45:53 +0400 - build 2628

1. gcc -warning

2. farlang minimal correction

w17 18.04.2012 18:27:12 +0400 - build 2627

1. And 2605 once more

svs 18.04.2012 18:06:58 +0400 - 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.

svs 18.04.2012 17:18:43 +0400 - build 2625

1. Mantins#0002077: QView crash in a plugin panel
   (from Maximus)

drkns 18.04.2012 16:16:13 +0200 - build 2624

1. Correction of 2597.1.

w17 18.04.2012 16:53:54 +0400 - build 2623

1. 2605 once more

drkns 18.04.2012 10:30:09 +0200 - build 2622

1. The screen was not redrawn after an external editor/viewer call.

2. A couple of minor issues in usermenu.

svs 18.04.2012 10:18:49 +0400 - build 2621

1. Mantis#0002070: ProcessConsoleInputInfo processing error
   (from Maximus)

drkns 17.04.2012 10:11:45 +0200 - build 2620

1. 0002074: Show and modify Owner SID in Attributes dialog

2. 0002078: FAR crash with an incorrect lng file

svs 16.04.2012 19:20:40 +0400 - build 2619

1. Macro: correction of the "engine".

2. Correction of KeyMacro::GetPlainText(). Debugging.

w17 16.04.2012 18:20:39 +0400 - build 2618

1. Correction of 2605

drkns 16.04.2012 14:33:05 +0200 - build 2617

1. 2616 build failure.

2. 0002076: Transition to network shares of a CentOS-5.4 system did not work

svs 16.04.2012 10:54:54 +0400 - build 2616

1. Macro: correction of the "engine".

2. Optimization of TVarSet class - removing the TAbstractSet intermediate class.

3. Correction of TVar class.

zg 15.04.2012 14:20:58 +0200 - build 2615

1. correction of 2603.

w17 15.04.2012 10:55:54 +0400 - build 2614

1. M#1183: On Reload, codepage storing must take place before reading

w17 14.04.2012 10:21:14 +0400 - build 2613

1. Correction of 2607

zg 13.04.2012 19:36:08 +0200 - build 2612

1. Far.Cfg.Get returns public settings only.

zg 13.04.2012 01:29:20 +0200 - build 2611

1. PCTL_FINDPLUGIN returns nullptr, PCTL_GETPLUGININFORMATION returns 0 for just deleted plugins.

zg 12.04.2012 20:36:52 +0200 - build 2610

1. 0002071: Regexps processing error - \x00

drkns 12.04.2012 15:39:48 +0200 - 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.

drkns 12.04.2012 09:55:30 +0200 - build 2608

1. Correction of 2601.2.

2. Correction of 2604.1.

w17 12.04.2012 03:11:29 +0400 - 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

w17 12.04.2012 02:52:21 +0400 - build 2606

1. Correction of 2605

w17 11.04.2012 23:14:16 +0400 - 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.

drkns 11.04.2012 20:37:03 +0200 - build 2604

1. 0002067: Unexpected reaction to mouse wheel in vertical menus

2. Some more of 2597.1.

zg 11.04.2012 17:38:32 +0200 - build 2603

1. 0002004: Commands history is not saved within the session.

2. gcc warning.

w17 11.04.2012 15:39:21 +0400 - build 2602

1. rollback of 2599.2

drkns 11.04.2012 14:14:33 +0200 - 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.

w17 11.04.2012 14:32:17 +0400 - build 2600

1. M#2066: Long file name overwritten with the short one

w17 10.04.2012 23:47:54 +0400 - build 2599

1. execute.cpp: fix image subsystem detection (from Maximus5)

2. open-as... for incorrectly given name (from Maximus5)

drkns 10.04.2012 21:58:06 +0200 - build 2598

1. Correction of 2597.1.

drkns 10.04.2012 20:51:51 +0200 - 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.

w17 10.04.2012 20:21:20 +0400 - build 2596

1. More restrictions on SEE_MASK_INVOKEIDLIST - off for .exe files

w17 10.04.2012 19:30:17 +0400 - build 2595

1. !~ was replaced with 1st letter of short name in associations

svs 10.04.2012 18:38:40 +0400 - build 2594

1. Mantis#0002064: A bug in HiText2Str

w17 06.04.2012 23:27:23 +0400 - build 2593

1. FSF.sprintf() fix for gcc 4.6+

drkns 06.04.2012 14:09:49 +0200 - build 2592

1. 0002061: Date wrong in Attributes dialog

zg 05.04.2012 02:36:51 +0200 - build 2591

1. fix for visual inconsistency after ECTL_SELECT if the cursor was set to an incorrect place for vertical blocks.

zg 05.04.2012 01:53:27 +0200 - 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.

zg 04.04.2012 23:02:53 +0200 - build 2589

1. correction of 2589.

zg 04.04.2012 21:49:33 +0200 - build 2588

1. ECTL_SETPOSITION updates LeftPos to the correct value at once. else ECTL_GETINFO could get incorrect data.

zg 04.04.2012 19:25:15 +0200 - build 2587

1. highly experimental. invoking other FCTL_* does not lead to FCTL_CLOSEPANEL cancellation.

zg 04.04.2012 18:11:47 +0200 - build 2586

1. ECF_TABMARKCURRENT misbehaved with non-zero LeftPos in editor.

w17 04.04.2012 18:22:17 +0400 - build 2585

1. gcc 4.7.0 warnings, +build x64 far / x86 gcc

zg 04.04.2012 15:06:12 +0200 - build 2584

1. correction of 2584. if an archive was opened bypassing AnalyseW then the cursor was not positioned after exit on FCTL_CLOSEPANEL.

zg 03.04.2012 17:12:52 +0200 - 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.

zg 02.04.2012 13:53:24 +0200 - build 2582

1. 0002060: Technical information on plugins in the disk menu

drkns 01.04.2012 15:09:54 +0200 - build 2581

1. Transition to upper directory did not work for UNC paths.

zg 01.04.2012 15:02:04 +0200 - 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.

svs 29.03.2012 14:03:42 +0400 - 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")

w17 28.03.2012 23:45:50 +0400 - build 2578

1. output 'set prefix>file' and 'set prefix | command' to cmd.exe

2. warning

svs 28.03.2012 19:59:45 +0400 - 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")

svs 28.03.2012 17:39:50 +0400 - 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>


w17 28.03.2012 16:27:50 +0400 - build 2575

1. Mantis#1506: Regexps cannot be used in backwards search

drkns 26.03.2012 13:20:06 +0200 - build 2574

1. A typo in 2453.1

zg 25.03.2012 20:59:15 +0200 - 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.

zg 25.03.2012 19:11:55 +0200 - 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.

zg 25.03.2012 17:30:47 +0200 - 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.

zg 25.03.2012 14:58:20 +0200 - build 2570

1. correction of 2567.

drkns 25.03.2012 14:15:24 +0200 - build 2569

1. warning.

2. api: constant CURRENT_EDITOR == -1 for EditorControl.

zg 25.03.2012 04:17:02 +0200 - build 2568

1. DM_LISTINFO implementation is fixed in the wrapper.

zg 25.03.2012 02:23:52 +0200 - 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.

svs 23.03.2012 17:09:23 +0400 - build 2566

1. Mantis#0000881: Incorrect $AKey functioning.

drkns 23.03.2012 13:57:12 +0200 - build 2565

1. Correction of 2564.

2. Warnings.

svs 22.03.2012 16:08:04 +0400 - build 2564

1. a minor fix to get rid of calling GeneralCfg

2. ReadConfig() call is moved "higher".

3. sqlite 3.7.11

svs 22.03.2012 14:24:38 +0400 - build 2563

1. Mantis#0002053: Some <RCtrl + LAlt + key> combinations malfunction

svs 22.03.2012 12:35:09 +0400 - 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%)

svs 20.03.2012 13:31:49 +0400 - 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>

svs 20.03.2012 11:17:53 +0400 - build 2560

1. Fix for 2557

zg 20.03.2012 03:51:54 +0200 - build 2559

1. ECTL_TURNOFFMARKINGBLOCK is removed. required actions are taken automatically for all ECTL_* changing anything in the editor.

zg 20.03.2012 02:51:44 +0200 - build 2558

1. rollback of 2551.

2. KMFLAGS_SAVEMACRO is removed.

zg 20.03.2012 02:36:49 +0200 - build 2557

1. Private field in PluginStartupInfo.

zg 19.03.2012 19:43:07 +0200 - 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.

drkns 19.03.2012 14:01:43 +0200 - 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.

zg 18.03.2012 01:23:01 +0200 - build 2554

1. FAR also closes plugin panel automatically if OpenPlanelInfo.CurDir==L"\\".

2. correction of 2553.

svs 17.03.2012 15:17:38 +0400 - 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.

svs 17.03.2012 13:43:33 +0400 - 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

zg 16.03.2012 20:06:10 +0200 - build 2551

1. OPM_SHORTCUT is added. it is passed to AnalyseW when following a shortcut or a history item.

svs 16.03.2012 10:56:28 +0400 - 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)

svs 15.03.2012 10:20:11 +0400 - 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

zg 15.03.2012 04:15:06 +0200 - build 2548

1. in 2351, transition to file panel from history was broken.

zg 15.03.2012 02:17:13 +0200 - build 2547

1. in 2036, transition to nearest accessible folder in folder links was broken.

zg 14.03.2012 23:16:28 +0200 - 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".

svs 13.03.2012 15:12:25 +0400 - build 2545

1. Help updated

2. Restoring a lost option (on drag&drop) in confirmations dialog...

3. Help for MaskGroupsSettings

zg 13.03.2012 12:20:04 +0200 - build 2544

1. FSSF_SCREEN/"KeyBar" option available to plugins.

svs 13.03.2012 11:16:01 +0400 - 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.

zg 13.03.2012 01:52:57 +0200 - build 2542

1. FSSF_CONFIRMATIONS/"RemoveConnection" option available to plugins.

zg 13.03.2012 01:09:42 +0200 - 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.

svs 12.03.2012 21:30:41 +0400 - 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!

zg 12.03.2012 14:02:00 +0200 - 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.

zg 12.03.2012 05:30:07 +0200 - build 2538

1. EditorControl(RealId,...) did not work for modal editors.

w17 12.03.2012 00:04:46 +0400 - build 2537

1. correction of 2536

2. M#2049: Autocompletion does not work if the folder name contains spaces

w17 11.03.2012 14:38:39 +0400 - build 2536

1. M#2048: Search in directories containing ";"

w17 09.03.2012 11:31:30 +0400 build - 2535

1. M#2045 - Win+Up does not maximize the FAR window

w17 07.03.2012 23:39:00 +0400 build - 2534

1. the cause of crash is formally eliminated. what the code doe is a secret for me

drkns 07.03.2012 15:06:24 +0200 - build 2533

1. Now GuardLastError class also stores ntstatus.

w17 07.03.2012 09:12:30 +0400 - build 2532

1. correction in 2531

drkns 06.03.2012 19:31:53 +0200 - build 2531

1. A workaround for a bug in ShellExecuteEx.

zg 06.03.2012 17:53:49 +0200 - 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.

zg 06.03.2012 17:31:05 +0200 - build 2529

1. rollback of 2524.

drkns 06.03.2012 15:07:46 +0200 - build 2528

1. From Tim Sobolev: search in mask groups menu.

w17 06.03.2012 14:50:05 +0400 - build 2527

1. Unicode .hlf file reading error

drkns 06.03.2012 10:46:25 +0200 - build 2526

1. In some cases the necessary width of messages was calculated incorrectly.

zg 06.03.2012 04:46:05 +0200 - 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.

zg 06.03.2012 04:05:03 +0200 - build 2524

1. vertical blocks redone. now block is bound to symbols instead of screen position.

zg 05.03.2012 20:23:08 +0200 - build 2523

1. Cannot select zero width vertical block with editor.sel.

zg 05.03.2012 16:18:48 +0200 - build 2522

1. 0002043: Editor.Sel(1,1) does not work in the editor in described situation

svs 05.03.2012 12:30:56 +0400 - 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

svs 05.03.2012 11:48:02 +0400 - 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 :-)

drkns 04.03.2012 21:22:30 +0200 - build 2519

1. Correction of 2517.

drkns 04.03.2012 16:26:41 +0200 - build 2518

1. A typo in 2453.

drkns 04.03.2012 14:08:07 +0200 - build 2517

1. Continuation of 2488 - groups can contain other groups.

drkns 02.03.2012 23:46:55 +0200 - build 2516

1. Correction of 2515.1.

drkns 02.03.2012 13:58:31 +0200 - 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.

svs 02.03.2012 09:16:43 +0400 - 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

drkns 02.03.2012 00:25:26 +0200 - 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.

w17 01.03.2012 22:14:13 +0400 build - 2512

1. correction of 2511 - getting rid of AI

w17 01.03.2012 19:16:09 +0400 - build 2511

1. some AI when making a decision of saving file encoding

w17 01.03.2012 18:12:05 +0400 - build 2510

1. MinGW gcc 4.5 build fixed

w17 01.03.2012 17:30:51 +0400 - build 2509

1. continuation of 2504

drkns 01.03.2012 12:42:56 +0200 - build 2508

1. from svs: correction of build 2507.

drkns 01.03.2012 11:46:15 +0200 - build 2507

1. from svs: macros stopped running if the macro sequence ended with callplugin

w17 01.03.2012 12:37:57 +0400 - build 2506

1. fixing text displaying after search for long lines/NO_WRAP/found=startline

svs 01.03.2012 09:13:01 +0400 - build 2505

1. matching editor bookmarks STACKBOOKMARK -> SESSIONBOOKMARK
   (from samlyukov)
   http://forum.farmanager.com/viewtopic.php?p=85114#p85114

w17 01.03.2012 02:24:47 +0400 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

w17 29.02.2012 17:05:06 +0400 - build 2503

1. a typo crashed the viewer when reverse search was performed

svs 29.02.2012 16:52:09 +0400 - 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.


drkns 29.02.2012 13:55:44 +0200 - build 2501

1. A couple of minor issues.

svs 29.02.2012 12:41:31 +0400 - build 2500

1. Continuation of 2498.
   Removing KeyMacros.CallPluginRules from the configuration in favor of mmode(3)

drkns 29.02.2012 09:42:16 +0200 - build 2499

1. Continuation of 2493.

svs 29.02.2012 10:53:34 +0400 - 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")

drkns 28.02.2012 16:57:48 +0200 - build 2497

1. Continuation of 2493.

w17 28.02.2012 14:09:10 +0400 - build 2496

1. gcc build fix

drkns 27.02.2012 21:09:02 +0200 - 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.

drkns 26.02.2012 23:36:01 +0200 - build 2494

1. Correction of 2493.

drkns 26.02.2012 22:28:58 +0200 - 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.

drkns 26.02.2012 10:40:09 +0200 - build 2492

1. Continuation of 2488 - a group can be a regular expression.

drkns 25.02.2012 20:10:24 +0200 - build 2491

1. A typo in 2470.

drkns 24.02.2012 21:11:56 +0200 - build 2490

1. Optimization and simplification of lng reader.

drkns 24.02.2012 14:57:54 +0200 - build 2489

1. Continuation of 2488.

drkns 24.02.2012 14:27:51 +0200 - 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.

svs 23.02.2012 14:18:24 +0400 - build 2487

1. Correction of 2486

svs 23.02.2012 09:44:26 +0400 - 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.

drkns 22.02.2012 22:23:30 +0200 - build 2485

1. in 1881, buffer cleaning with CopyToClipboard(0) was broken.

zg 22.02.2012 18:58:03 +0200 - build 2484

1. correction of 2458. OPEN_FROMMACRO in PluginManager::CallPlugin.

zg 22.02.2012 18:45:43 +0200 - build 2483

1. 0001410: Add a flag into OpenFilePluginW for archive operations recognition (ShiftF3)
   OPM_COMMANDS flag is added.

zg 22.02.2012 17:21:14 +0200 - build 2482

1. 0002031: Automatic indentation does not inform plugins about line changed

drkns 22.02.2012 16:58:37 +0200 - build 2481

1. Inner rearrangement.

zg 21.02.2012 19:51:28 +0200 - build 2480

1. 0001972: ShiftHome and editor.sel(0,2)

2. macro editing dialog is provided with history for sequence and description.

zg 21.02.2012 16:14:47 +0200 - 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.

zg 21.02.2012 04:40:45 +0200 - 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.

w17 20.02.2012 23:34:49 +0400 build - 2477

1. Calling convention mismatch (yet another typo?)

drkns 20.02.2012 10:42:54 +0200 - build 2476

1. Another typo.

drkns 20.02.2012 03:15:12 +0200 - build 2475

1. A typo in 2474.

drkns 20.02.2012 02:17:59 +0200 - build 2474

1. Rolling back 2470.2 so far - there are some issues.

drkns 19.02.2012 21:52:01 +0200 - build 2473

1. And one more time.

drkns 19.02.2012 21:49:02 +0200 - build 2472

1. Correction of 2470.

drkns 19.02.2012 21:18:57 +0200 - build 2471

1. Mantis#0002028: Editor Search [All] - the menu treats ampersands as hotkeys

drkns 19.02.2012 20:23:52 +0200 - 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.

svs 19.02.2012 14:51:36 +0400 - build 2469

1. Mantis#0002026: after clip(1,""), clipboard is not cleared

zg 17.02.2012 20:42:35 +0200 - build 2468

1. correction of 2460.1.

drkns 17.02.2012 19:36:26 +0200 - build 2467

1. Correct handling of situation of "plugin trying to unload itself".

svs 17.02.2012 15:18:14 +0400 - 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

drkns 17.02.2012 11:05:50 +0200 - build 2465

1. Correction of 2463.

svs 17.02.2012 09:38:04 +0400 - 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)

drkns 16.02.2012 13:11:18 +0200 - build 2463

1. Clearer representation of colors and file highlighting in xml.

zg 16.02.2012 04:04:19 +0200 - 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.

drkns 15.02.2012 22:28:03 +0200 - build 2461

1. Colors configuration moved from generalconfig.db to colors.db.

zg 15.02.2012 04:49:56 +0200 - 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.

drkns 14.02.2012 13:19:07 +0200 - build 2459

1. Another correction of 2452.1.

zg 14.02.2012 03:46:37 +0200 - 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.

zg 14.02.2012 01:32:13 +0200 - build 2457

1. gcc warnings.

drkns 13.02.2012 23:14:58 +0200 - build 2456

1. Continuation of 2455.

drkns 13.02.2012 19:45:37 +0200 - build 2455

1. Correction of white space displaying.

drkns 13.02.2012 18:35:36 +0200 - build 2454

1. Correction of 2452.1

drkns 13.02.2012 15:34:21 +0200 - 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.

drkns 12.02.2012 19:34:30 +0200 - 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.

zg 12.02.2012 15:26:20 +0200 - build 2451

1. correction of 2443.

drkns 11.02.2012 20:13:59 +0200 - build 2450

1. A couple of typos in 2449.

zg 11.02.2012 15:12:15 +0200 - 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.

zg 09.02.2012 21:01:34 +0200 - build 2448

1. experimental: ECTL_INSERTTEXT is aware of '\n'. the line is added taking "Auto indent" setting into account, as opposed to '\r'.

drkns 09.02.2012 16:45:52 +0200 - 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.

drkns 08.02.2012 20:15:12 +0200 - build 2446

1. Correction of plugins unloading.

drkns 08.02.2012 18:45:54 +0200 - build 2445

1. Correction of plugins unloading.

drkns 08.02.2012 16:43:20 +0200 - build 2444

1. Correction of plugins unloading.

zg 08.02.2012 02:03:12 +0200 - 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.

zg 07.02.2012 02:49:54 +0200 - 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.

zg 07.02.2012 01:20:05 +0200 - build 2441

1. continuation of 2435. the screen was not always redrawn.

zg 06.02.2012 23:05:23 +0200 - build 2440

1. correction of 2439.1 and 2439.2.

zg 06.02.2012 22:39:15 +0200 - 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.

zg 06.02.2012 21:16:55 +0200 - 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.

drkns 06.02.2012 15:56:52 +0200 - 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.

w17 06.02.2012 16:23:04 +0400 - build 2436

1. debug build recovered

2. cosmetic

zg 06.02.2012 01:56:06 +0200 - build 2435

1. EEREDRAW_CHANGE and EEREDRAW_LINE events are removed. EEREDRAW_ALL is always sent.

drkns 04.02.2012 23:56:49 +0200 - build 2434

1. More stuff on crashes when unloading plugins.

drkns 04.02.2012 17:37:35 +0200 - 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.

drkns 03.02.2012 21:43:07 +0200 - 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 :)

w17 02.02.2012 12:44:18 +0400 - build 2431

1. Continuation of Mantis#1953

2. Fixed 'set /?'

drkns 01.02.2012 20:20:46 +0200 - build 2430

1. In 2427, EOL glyphs were misplaced.

2. Warnings.

zg 01.02.2012 12:58:16 +0200 - build 2429

1. rollback of 2427.1 because ACTL_GETWINDOWINFO and WindowInfo.Id already exist.

drkns 31.01.2012 22:22:18 +0200 - build 2428

1. Correct console mode is forced after plugin functions calls.

drkns 31.01.2012 13:32:28 +0200 - 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)

w17 28.01.2012 23:07:20 +0400 - build 2426

1. Mantis#2000 - XML Error (0,0) -- half step back

t-rex 28.01.2012 19:03:49 +0200 - build 2425

1. PCTL_FINDPLUGIN with PFM_MODULENAME can work with relative paths now.

drkns 27.01.2012 22:21:21 +0200 - build 2424

1. Correction of PCTL_GETPLUGININFORMATION.

drkns 27.01.2012 19:46:03 +0200 - build 2423

1. Mantis#0002002: Far3 cannot enter folders on CD-ROM discs.

drkns 27.01.2012 17:01:23 +0200 - build 2422

1. Mantis#0002005: Network shares are inaccessible.

svs 27.01.2012 18:17:51 +0400 - 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.

drkns 27.01.2012 15:01:22 +0200 - build 2420

1. Mantis#0002000: Far.exe /export creates a file with 0A lines separator.

drkns 27.01.2012 09:58:17 +0200 - build 2419

1. PCTL_[FORCED]LOADPLUGIN now return the handle of a loaded plugin or 0 on error, as before.

svs 27.01.2012 09:15:50 +0400 - 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
      +---------+


drkns 26.01.2012 23:03:50 +0200 - build 2417

1. Support for detection and switching off virtual CDs in Windows 8.

drkns 26.01.2012 19:37:11 +0200 - build 2416

1. Mantis#0002001: Incorrect displaying of path to virtual volume file in drive selection dialog.

drkns 26.01.2012 19:11:04 +0200 - 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.

drkns 26.01.2012 16:11:41 +0200 - 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.

drkns 26.01.2012 09:46:46 +0200 - build 2413

1. Getting EMenu be callable to from disk menu.

2. Warnings.

drkns 25.01.2012 09:57:40 +0200 - build 2412

1. Wrong formatting of "short" and "named" date in panel modes.

drkns 24.01.2012 19:42:05 +0200 - 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.

drkns 22.01.2012 14:19:41 +0200 - build 2410

1. Correction of 2381.

svs 21.01.2012 13:43:11 +0400 - build 2409

1. Mantis#0001998: MCTL_ADDMACRO is broken
   (from Maximus)

drkns 19.01.2012 21:09:33 +0200 - build 2408

1. Angle brackets (<>) around "Up", "Folder", "Symlink", "Junction" list items moved to the language files.

drkns 19.01.2012 12:58:47 +0200 - build 2407

1. Mantis#0001995: During file editing some data was lost.

2. Correction of 2405.

svs 19.01.2012 13:52:00 +0400 - 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.

drkns 19.01.2012 09:07:54 +0200 - build 2405

1. closeconsolerule is gone.

t-rex 18.01.2012 21:35:50 +0200 - build 2404

1. And some more refactoring in configdb.

t-rex 18.01.2012 17:34:22 +0200 - build 2403

1. Making the same hotkeys for RegExp in editor and viewer search dialogs.

drkns 17.01.2012 23:24:42 +0200 - build 2402

1. Refactoring of configdb.

t-rex 17.01.2012 23:07:03 +0200 - 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%.

svs 17.01.2012 16:16:32 +0400 - build 2400

1. Mantis#0001988: EF_CREATENEW does not work

svs 17.01.2012 12:09:27 +0400 - build 2399

1. Mantins#0001992: Crash on F4 in F11/AltShiftF9 if all item strings are filtered out
   (from Maximus)

zg 17.01.2012 03:18:47 +0200 - build 2398

1. 0001990: DE-locale: cannot press *.

drkns 17.01.2012 00:54:25 +0200 - build 2397

1. Warnings.

drkns 17.01.2012 00:19:46 +0200 - build 2396

1. sqlite 3.7.10.

zg 16.01.2012 23:44:52 +0200 - 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.

drkns 16.01.2012 19:08:55 +0200 - build 2394

1. History didn't work in macros.

svs 16.01.2012 11:30:20 +0400 - build 2393

1. Correction of Mantis#0001972

svs 15.01.2012 21:51:12 +0400 - build 2392

1. Mantis#0001989: Add Description field to Macro Settings dialog

drkns 15.01.2012 19:42:10 +0200 - build 2391

1. Folder shortcuts can be named.

drkns 15.01.2012 19:16:05 +0200 - build 2390

1. In some cases, folder shortcuts were not stored.

t-rex 15.01.2012 17:28:01 +0200 - build 2389

1. And 2384 once more. Now an empty line is shown in the list too.

2. ClearType configuration is on by default.

drkns 15.01.2012 17:18:52 +0200 - build 2388

1. Mouse wheel did not work in plugin menus.

t-rex 15.01.2012 13:53:19 +0200 - build 2387

1. Gosh, another error in 2384.

t-rex 15.01.2012 13:42:54 +0200 - build 2386

1. More "consequences" of Mantis#1801 - http://forum.farmanager.com/viewtopic.php?p=88686#p88686.

2. Also, some unused code is removed.

t-rex 15.01.2012 13:09:07 +0200 - build 2385

1. Error in 2384.

t-rex 15.01.2012 12:53:32 +0200 - build 2384

1. Dialogs history remembers an empty last item.

drkns 15.01.2012 11:31:09 +0200 - build 2383

1. Calling EMenu on [Shift]RightClick in a tree.

drkns 15.01.2012 11:07:08 +0200 - build 2382

1. Continuation of 2381: calling emenu in panels and on [Shift]Apps.

t-rex 15.01.2012 00:18:34 +0200 - 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.

drkns 14.01.2012 19:30:10 +0200 - build 2380

1. Fixing 2377.1 :)

2. MacroAddMacro structure is placed in more optimal way in x64.

t-rex 14.01.2012 12:53:19 +0200 - build 2379

1. Mantis#1985: Incorrect memory calculation for MCTL_GETLASTERROR.

t-rex 14.01.2012 11:37:20 +0200 - build 2378

1. Not all needed StructSize were filled in the wrapper.

t-rex 13.01.2012 20:17:07 +0200 - build 2377

1. Making "set | command" and "set > file" be passed to comspec.

2. Only first macro in xml was imported.

t-rex 13.01.2012 19:20:54 +0200 - 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.

svs 13.01.2012 17:47:47 +0400 - 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.

w17 13.01.2012 17:45:10 +0400 - build 2374

1. gcc build recovered

drkns 13.01.2012 14:24:42 +0200 - build 2373

1. Adding some StructSize checks here and there.

svs 13.01.2012 16:18:16 +0400 - 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

t-rex 12.01.2012 20:22:49 +0200 - build 2371

1. Correction of 2368.

drkns 12.01.2012 20:04:46 +0200 - build 2370

1. Correction of 2369.

drkns 12.01.2012 19:00:38 +0200 - build 2369

1. Fix "far /? > file" and "far > file".

svs 12.01.2012 18:09:11 +0400 - build 2368

1. Import diagnostics (constant, variable, macro)
   For example,

      Constant (5,13): <name> is empty or not found

svs 12.01.2012 16:26:01 +0400 - 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")

drkns 11.01.2012 22:46:51 +0200 - build 2366

1. After elevation, ntstatus is received from a child process together with lasterror.

t-rex 11.01.2012 22:25:49 +0200 - build 2365

1. RegExp: \/ was not searched (if / was exactly the last character in the search line).

drkns 11.01.2012 21:50:32 +0200 - 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.

t-rex 11.01.2012 21:53:39 +0200 - 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>

svs 11.01.2012 22:17:46 +0400 - 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

svs 11.01.2012 11:35:08 +0400 - 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

t-rex 11.01.2012 01:32:22 +0200 - build 2360

1. Mantis#1968: Do not save settings if unchanged.
   Now it's only generalconfig.db which is always written.

drkns 10.01.2012 16:41:31 +0200 - build 2359

1. Correction of 2327.

svs 10.01.2012 15:51:05 +0400 - 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)

svs 10.01.2012 15:31:57 +0400 - build 2357

1. Mantis#0001945: Cannot move vertical block with the end of the line
   CurLine->GetSelection(...) is unapplicable to vertical blocks :-)

svs 10.01.2012 15:12:03 +0400 - 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.

svs 10.01.2012 12:58:46 +0400 - 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)

drkns 09.01.2012 17:14:54 +0200 - build 2354

1. Mantis#0001975: FAR3 user menu eats hotkeys

w17 09.01.2012 17:15:14 +0400 build - 2353

1. Mantis#1723,1927: CPU load when idle on VM
   (originated by sezal)

svs 07.01.2012 22:34:28 +0400 - build 2352

1. Macro: Shell.AutoCompletion did not work, returning Dialog.AutoCompletion all the way

t-rex 07.01.2012 13:43:07 +0200 - build 2351

1. Minor corrections of history.

w17 03.01.2012 23:23:11 +0400 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

w17 03.01.2012 22:13:00 +0400 build - 2349

1. Mantis#1966: Error in search displaying.

drkns 02.01.2012 22:26:12 +0200 - build 2348

1. In 2214, mouse wheel handling in menu was broken.

2. Warnings.

3. Lng generator v1.3.

drkns 02.01.2012 15:48:46 +0200 - build 2347

1. FSF.InputBox's int DestLength is replaced with size_t DestSize.

svs 31.12.2011 12:30:32 +0400 - build 2346

1. Mantis#0001959: Error loading macros via MCTL_ADDMACRO

zg 31.12.2011 01:12:13 +0200 - build 2345

1. infinite recursion when calling from GetOpenPluginInfo, for example, opening an archive with Multiarc.

t-rex 30.12.2011 14:25:35 +0200 - build 2344

1. Mantis#1965: "A+" regular expression does not work.
   It didn't work just for capital letters.

2. Debug build failure.

zg 30.12.2011 03:46:41 +0200 - 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.

drkns 30.12.2011 00:54:46 +0200 - build 2342

1. Alternative solution of 2335.1.

drkns 29.12.2011 19:43:12 +0200 - build 2341

1. You've got the idea.

drkns 28.12.2011 13:15:35 +0200 - build 2340

1. Fixing the broken.

drkns 27.12.2011 23:38:44 +0200 - build 2339

1. Fixing the broken.

drkns 27.12.2011 21:24:05 +0200 - build 2338

1. Summarizing http://forum.farmanager.com/viewtopic.php?t=5390, return History.Disable().

drkns 27.12.2011 16:03:21 +0200 - build 2337

1. Mantis#0001961: Cannot open CentOS-5.4 network share

drkns 27.12.2011 11:19:34 +0200 - build 2336

1. Fixing the broken.

drkns 26.12.2011 23:56:59 +0200 - build 2335

1. Another bug in the copier. I'm curious of what will fail this time.

2. Stripping trailing space characters in sources.

t-rex 26.12.2011 17:00:10 +0200 - 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

drkns 26.12.2011 16:31:23 +0200 - build 2333

1. Corrections in InfoPanel.

zg 26.12.2011 14:47:18 +0200 - build 2332

1. System.Executor\ExcludeCmds malfunction.

t-rex 25.12.2011 23:41:38 +0200 - build 2331

1. No, we'd better return the old input mode, it has ever been that.

t-rex 25.12.2011 23:32:34 +0200 - 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.

drkns 25.12.2011 19:28:52 +0200 - build 2329

1. QuickView: allocated size is correctly calculated for several hard links inside the directory. Experimental.

zg 25.12.2011 14:48:29 +0200 - build 2328

1. experimental obtaining of confirmation settings via SettingsControl(...,SCTL_GET,...).
   Root - FSSF_CONFIRMATIONS, Name - L"CopyOverwrite", L"MoveOverwrite" etc.

drkns 25.12.2011 14:17:13 +0200 - 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.

zg 25.12.2011 13:43:10 +0200 - 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);

drkns 24.12.2011 23:50:51 +0200 - build 2325

1. Mistype in 2324.

drkns 24.12.2011 21:39:08 +0200 - build 2324

1. Mantis#0001953 - the 2nd attempt.

drkns 24.12.2011 19:34:24 +0200 - build 2323

1. For "out of the box" plugins, Far 1/2 compatible default hotkeys are set in drive menu (once).

t-rex 24.12.2011 19:15:47 +0200 - build 2322

1. Mantis#1955: Editing of macros.

drkns 24.12.2011 19:03:54 +0200 - build 2321

1. GlobalInfo structure excessive zeroing (Mantis#0001956).

drkns 24.12.2011 18:53:03 +0200 - build 2320

1. Rollback of Mantis#0001953.

svs 24.12.2011 20:18:35 +0400 - build 2319

1. Mantis#0001953: cmd.exe excessive call
   (from Maximus)

svs 24.12.2011 19:22:19 +0400 - 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"

svs 24.12.2011 15:33:15 +0400 - build 2317

1. Mantis#0001951: Incorrect InputRecord in DN_CONTROLINPUT event

drkns 24.12.2011 12:59:03 +0200 - build 2316

1. Mantis#0001954: copying a directory to "admin" folder fails

t-rex 24.12.2011 11:50:29 +0200 - build 2315

1. BOOL -> bool in several places.

2. Let's make vc10wrapper.cpp usable in plugins without copying.

drkns 23.12.2011 23:43:51 +0200 - build 2314

1. vc10.asm redesign - <En|De>codePointer are replaced with stubs only if they are missing in OS.

t-rex 23.12.2011 12:49:15 +0200 - build 2313

1. Mantis#1201: Far 2 does not open an URL.

2. BOOL -> bool in several inner functions.

t-rex 23.12.2011 10:12:31 +0200 - build 2312

1. Mantis#1952: Safe removal with Shift-Del does not work.

svs 22.12.2011 23:55:28 +0400 - 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".

t-rex 22.12.2011 18:20:50 +0200 - build 2310

1. RCtrl and RAlt were passed incorrectly in ANSI plugins panel.

w17 22.12.2011 16:50:49 +0400 build - 2309

1. mistype in string constructor

svs 22.12.2011 16:29:40 +0400 - build 2308

1. InfoPanel: Ctrl-digit combinations are removed.
   Define them with macros using Ctrl-F12 menu

drkns 22.12.2011 13:37:44 +0200 - build 2307

1. More on info panel.

drkns 22.12.2011 11:04:18 +0200 - 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).

t-rex 21.12.2011 21:24:04 +0200 - build 2305

1. A couple of minor issues.

drkns 21.12.2011 20:58:55 +0200 - build 2304

1. One more correction regarding to skipping of "." and ".." reading a directory.

drkns 21.12.2011 20:33:19 +0200 - 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.

w17 21.12.2011 17:12:54 +0400 build - 2302

1. 0001950: Erroneous switching to Dump mode on Unicode files

w17 15.12.2011 22:40:32 +0400 build - 2301

1. Mantis #1235: Incorrect Shift-Del functioning on storage devices with more than 1 partition
   (from Arty)

svs 15.12.2011 21:39:07 +0400 - build 2300

1. Correction of build 2297

w17 15.12.2011 19:04:57 +0400 build - 2299

1. Mantis #1944 - fix

drkns 14.12.2011 13:20:46 +0200 - build 2298

1. Mantis#0001944: FAR crashes at creation a symbolic link to a file or a directory

svs 13.12.2011 21:39:00 +0400 - 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

zg 13.12.2011 17:39:38 +0200 - build 2296

1. rollback of 2286 b-f.

drkns 12.12.2011 15:20:01 +0200 - build 2295

1. Mantis#0001461: In Drive Menu, ShiftEnter on CD/DVD drive without a disc causes a black screen

w17 09.12.2011 14:37:30 +0400 build - 2294

1. Mantis #1151: Incorrect destination path after choosing "Retry" when copying a folder with files to a Flash drive

w17 09.12.2011 07:13:09 +0400 build - 2293

1. Mantis #1937 - Editor RCtrl+Alt+...

svs 08.12.2011 21:40:53 +0400 - build 2292

1. Mantis#0001940: Builtin macro editor
   Place "Change" button between "Yes" and "No".

svs 08.12.2011 19:59:48 +0400 - 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).

w17 08.12.2011 12:26:58 +0400 build - 2290

1. #1938: After ECTL_DELETESTRING, blocks in the editor cease working

w17 08.12.2011 00:07:18 +0400 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.

w17 07.12.2011 23:53:06 +0400 build - 2288

1. Mantis #1939 Viewer - searching progress state in the taskbar

svs 07.12.2011 16:15:27 +0400 - 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!

w17 07.12.2011 12:59:31 +0400 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

drkns 07.12.2011 08:16:57 +0200 - build 2285

1. Correction of 2284.

svs 06.12.2011 16:13:24 +0400 - 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).

drkns 05.12.2011 18:56:56 +0200 - build 2283

1. More on Mantis#0001221.

drkns 05.12.2011 17:05:29 +0200 - build 2282

1. Mantis#0001935: when importing from xml, variables are placed into constants section

1. More on Mantis#0001221.

drkns 05.12.2011 13:21:32 +0200 - 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>

drkns 04.12.2011 15:46:27 +0200 - build 2280

1. Macros can be deleted when importing xml. This is done by leaving 'sequence' attribute empty or unspecified.

drkns 04.12.2011 00:49:21 +0200 - build 2279

1. Continuation of 2278.

drkns 04.12.2011 00:11:58 +0200 - build 2278

1. Mantis#0001933: macro settings are not restored with far.exe /import

drkns 03.12.2011 19:38:39 +0200 - build 2277

1. Mantis#0001221: hard link highlighting in panels

2. Mantis#0001932: cannot delete a macro

drkns 03.12.2011 01:01:16 +0200 - build 2276

1. Correction of 2274.1.

w17 03.12.2011 02:30:31 +0400 - build 2275

1. fixing gcc 64 build

drkns 02.12.2011 22:08:21 +0200 - 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.

drkns 30.11.2011 21:41:38 +0200 - build 2273

1. Plugin settings databases got descriptions.

drkns 27.11.2011 23:32:27 +0200 - build 2272

1. Incorrect handling of the packed size obtaining error.

2. Support for privilege elevation when obtaining the packed size.

w17 24.11.2011 00:13:34 +0400 build - 2271

1. Mantis #1925, #1326: Editor replace string selection fix.

drkns 19.11.2011 23:35:25 +0200 - build 2270

1. Incorrect processing of FMSG_MB_* flags in the wrapper.

w17 17.11.2011 02:55:35 +0400 build - 2269

1. Continuation of 2268

w17 16.11.2011 13:43:39 +0400 build - 2268

1. Common code is taken out of makefile_gcc in order to use it for building plugins.

drkns 13.11.2011 00:51:23 +0200 - build 2267

1. Using SetUnhandledExceptionFilter.

drkns 10.11.2011 16:28:04 +0200 - build 2266

1. The default file highlighting was not applied if highlight.db was opened in memory.

svs 10.11.2011 12:29:47 +0400 - 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

svs 09.11.2011 06:42:02 +0400 - build 2264

1. SQLite 3.7.9

2. Correction of build 2246

w17 07.11.2011 22:30:08 +0400 build - 2263

1. HOSTTYPE is Windows by default, Cygwin != Unix

drkns 07.11.2011 09:41:27 +0200

1. HOSTTYPE is Windows by default.

w17 07.11.2011 11:30:15 +0400 build - 2262

1. 2252 - Vstudio build repaired

w17 07.11.2011 03:58:15 +0400 build - 2261

1. 2252 one more time - the return of -O3

w17 05.11.2011 01:02:42 +0400 build - 2260

1. gcc #pragma for 4.6 only

w17 04.11.2011 21:49:00 +0400 build - 2259

1. Again, a fix for 2252 - msys mingw fix

w17 04.11.2011 20:09:02 +0400 build - 2258

1. A fix for 2257.2 (__GNUC_MINOR__)

w17 04.11.2011 20:05:17 +0400 build - 2257

1. Correction of 2252.2

2. nullptr for gcc < 4.6.1

drkns 04.11.2011 14:10:46 +0200 - build 2256

1. An attempt of UnicodeString speeding up with the use of a stack buffer.

2. Minor things.

w17 04.11.2011 14:53:20 +0400 build - 2255

1. Correction of 2252.2

w17 04.11.2011 14:14:30 +0400 build - 2254

1. Correction of 2252.2

w17 04.11.2011 14:10:35 +0400 build - 2253

1. Correction of 2252.1

w17 04.11.2011 11:14:20 +0400 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

drkns 31.10.2011 13:24:03 +0200 - build 2251

1. Correction of 2224.1.

drkns 27.10.2011 13:08:21 +0300 - build 2250

1. Mantis#0001918: FAR crash on "Standard association" choice

drkns 25.10.2011 20:14:28 +0200

1. Far.exe.ini -> Far.exe.example.ini

w17 25.10.2011 17:09:29 +0400 build - 2249

1. Viewer - errors are fixed, scroll bar drawing is normalized.

2. Viewer - Simplification of previous mode saving logic in Goto dialog (AltF8)

drkns 24.10.2011 15:07:04 +0300 - build 2248

1. Continuation of 2247.1.

drkns 24.10.2011 12:05:37 +0300 - 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.

zg 24.10.2011 00:38:08 +0200 - 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.

zg 23.10.2011 21:11:21 +0200 - build 2245

1. when replacing "folder shorcuts" from plugin's one to real path, not all fields were cleared.

zg 23.10.2011 20:56:26 +0200 - build 2244

1. obtain information on "folder shorcuts" in the same manner as for histories.

zg 23.10.2011 19:47:51 +0200 - build 2243

1. additional parameters are returned for histories.

zg 22.10.2011 23:54:52 +0200 - build 2242

1. alignment of data returned by FCTL_GET*PANELITEM.

zg 22.10.2011 03:52:53 +0200 - build 2241

1. correction of 2240.2 for capital letters.

zg 22.10.2011 03:17:46 +0200 - 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.

zg 21.10.2011 23:56:07 +0200 - 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.

zg 21.10.2011 09:36:48 +0200 - build 2238

1. Folder Shortcuts stores Guid for plugins, not a module name.

zg 20.10.2011 17:25:55 +0200 - build 2237

1. correction of 2232.1. return time in UTC and the lock flag.

zg 20.10.2011 15:58:27 +0200 - build 2236

1. tdm64-gcc build: make DIRBIT=64 -f makefile_gcc.

drkns 20.10.2011 14:15:52 +0300 - build 2235

1. Before codepage change, conversion correctness check is performed.

drkns 20.10.2011 09:40:46 +0300 - build 2234

1. If codepage change in editor has messed up the text, do not remember the codepage.

w17 20.10.2011 09:49:18 +0400 build - 2233

1. Makeup for #1905

zg 20.10.2011 01:33:55 +0200 - 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.

w17 19.10.2011 22:36:30 +0400 build - 2231

1. Mantis #1905 again

zg 19.10.2011 17:15:15 +0200 - build 2230

1. DM_ADDHISTORY crashed for created but not shown dialog.

w17 19.10.2011 18:02:30 +0400 build - 2229

1. 1905: viewer dump mode

zg 19.10.2011 14:50:58 +0200 - build 2228

1. wrapper: correction of DM_LISTGETDATA and DM_LISTSETDATA.

drkns 19.10.2011 08:39:52 +0300 - build 2227

1. [x] Clock in viewer and editor

drkns 18.10.2011 19:17:20 +0200 - build 2226

1. Waiting cancellation possibility for "far /v -".

drkns 18.10.2011 19:03:32 +0200 - build 2225

1. Correction of 2224.1.

drkns 18.10.2011 14:33:06 +0300 - build 2224

1. Now synchronous I/O operations can be interrupted (hello goes to Network plugin). Ctrl-Break.

w17 16.10.2011 12:39:32 +0400 build - 2223

1. Mantis#1791: "Cannot find the file" on F5 after Ctrl+Tab from a file saved in editor

drkns 14.10.2011 18:30:56 +0200 - build 2222

1. "Inactivity time" option no longer exists.

w17 14.10.2011 18:01:33 +0400 - build 2221

1. Mantis#1823: Viewer auto-update on flash drives

svs 13.10.2011 17:44:03 +0400 - 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.
     }


svs 13.10.2011 15:23:12 +0400 - 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 ;-)

svs 12.10.2011 11:38:10 +0400 - build 2218

1. Info panel was not updated after changes made in info panel settings dialog.

w17 11.10.2011 13:49:00 +0400 - 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

svs 10.10.2011 17:21:48 +0400 - build 2216

1. Mantis#0001832: FarNameToInputRecord / FarInputRecordToName  problem
   (from Maximus)

svs 09.10.2011 15:29:43 +0400 - build 2215

1. Mantis#0001832: FarNameToInputRecord / FarInputRecordToName problem
   (from shmuel)
   "...broken input with Russian keyboard layout in a plugin..."

svs 06.10.2011 16:08:21 +0400 - build 2214

1. Mantis#0001832: FarNameToInputRecord / FarInputRecordToName problem
   (from Maximus)

drkns 06.10.2011 13:33:04 +0200 - build 2213

1. And more.

drkns 05.10.2011 16:46:24 +0200 - build 2212

1. More on #1899.

svs 05.10.2011 11:40:27 +0400 - 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.

svs 04.10.2011 10:07:48 +0400 - build 2210

1. Mantis#0001766: Viewer new version
   (from 2useven10)

svs 03.10.2011 12:02:41 +0400 - 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".

svs 01.10.2011 10:20:58 +0400 - build 2208

1. Mantis#0001677: Set "starting" key code with MCMD_POSTMACROSTRING on macro start

svs 30.09.2011 15:09:04 +0400 - build 2207

1. Mantis#0001898: bugs in editor drawing after macro finish
   (from Maximus)

svs 29.09.2011 09:49:28 +0400 - build 2206

1. Mantis#0001766: Viewer new version
   (from 2useven10)

drkns 27.09.2011 21:38:14 +0200 - build 2205

1. Mantis#0001894: Plugin list display inaccuracy.

drkns 26.09.2011 08:58:57 +0200 - build 2204

1. Correction of types in plugin.hpp

drkns 25.09.2011 19:11:11 +0200 - build 2203

1. FarListTitles.TitleLen => FarListTitles.TitleSize,
   FarListTitles.BottomLen => FarListTitles.BottomSize.

svs 23.09.2011 10:29:38 +0400 - build 2202

1. Mantis#0001888: [A|P]Panel.Format

2. Mantis#0001887: FCTL_GETPANELPREFIX
   Panel API: added FCTL_GETPANELPREFIX

drkns 22.09.2011 11:03:59 +0200 - build 2201

1. Mantis#0001883: Spaces generated in editor when using numeric keypad.

drkns 20.09.2011 11:28:28 +0200 - build 2200

1. Console color is restored after applications launch.

svs 19.09.2011 09:48:39 +0400 - 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".

svs 13.09.2011 15:28:38 +0400 - build 2198

1. Mantis#0001785: A problem with launch if the command line contains "="
   (from 2useven10)

svs 12.09.2011 14:35:48 +0400 - build 2197

1. Mantis#0001873: Highlighted keys in Options - System settings
   (from Raistlin)

2. Some corrections in lng (translation, hotkeys)

drkns 12.09.2011 13:23:34 +0200 - build 2196

1. In some cases, console output could be lost partially after applications run.

svs 12.09.2011 09:46:52 +0400 - 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..."

svs 09.09.2011 17:32:26 +0400 - 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.

svs 05.09.2011 19:46:49 +0400 - 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>

svs 05.09.2011 19:05:38 +0400 - build 2192

1. Mantis#0001871: Drawing bug in editor

drkns 05.09.2011 09:11:02 +0200 - 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.

zg 04.09.2011 14:40:56 +0200 - build 2190

1. ACTL_WAITKEY: Param1=0, Param2 - pointer to INPUT_RECORD or NULL for any other key.

zg 03.09.2011 13:06:29 +0200 - build 2189

1. FarMenuItem.AccelKey now has FarKey type.

svs 02.09.2011 09:26:36 +0300 - build 2188

1. Correction of build 2187

svs 01.09.2011 22:03:43 +0300 - 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).

svs 01.09.2011 17:34:54 +0300 - build 2186

1. debug compilation minor issues

2. Command line keys /clearcache, /export and /import are included in the help

drkns 01.09.2011 15:07:03 +0200

1. Correction of 2185.2 - manual synchronization.

drkns 01.09.2011 14:15:09 +0200 - 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.

drkns 31.08.2011 15:55:08 +0200 - build 2184

1. ECTL_PROCESSKEY is removed.

svs 30.08.2011 10:43:11 +0300 - build 2183

1. Mantis#0001866: Make all prompt() parameters optional
   correction of build 2182

svs 30.08.2011 10:16:23 +0300 - 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


svs 29.08.2011 14:39:57 +0300 - build 2181

1. Mantis#0001864: Debug version crash when executng a written macro

2. Mantis#0001856: bringing to common UserData
   (from samlyukov)

drkns 29.08.2011 08:42:09 +0200 - build 2180

1. Correction of 2179.2.

drkns 28.08.2011 17:57:54 +0200 - build 2179

1. Mantis#0001865: initialization of the colors array in dialog.cpp

2. A couple of minor issues.

svs 28.08.2011 15:26:06 +0300 - 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

drkns 27.08.2011 16:40:43 +0200 - build 2177

1. Warnings.

2. The structures are redone again, now for x86 too.

drkns 27.08.2011 11:28:44 +0200 - build 2176

1. Correction of 2175.1.

drkns 26.08.2011 16:54:08 +0200 - 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.

zg 25.08.2011 23:22:28 +0200 - build 2174

1. Mantis#0001864: Debug version crash on recorded macro run.

drkns 25.08.2011 22:47:06 +0200 - build 2173

1. Warnings.

2. Some structures are changed for more optimal layout in x64. The plugins must be rebuilt.

svs 25.08.2011 16:22:47 +0300 - build 2172

1. Mantis#0001858: Return 0 on prompt() dialog close with Esc

svs 25.08.2011 16:01:01 +0300 - 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_

drkns 25.08.2011 11:48:38 +0200 - build 2170

1. Mistype in 2169.

drkns 25.08.2011 11:36:00 +0200 - build 2169

1. Mantis#0001862: Static analysis of the code.

svs 25.08.2011 11:32:30 +0300 - 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.

drkns 25.08.2011 10:05:45 +0200 - build 2167

1. Mantis#0001833: File search is not thread safe.

drkns 25.08.2011 09:54:06 +0200 - build 2166

1. Mantis#0001860: In CtrlL, text labels from plugin are drawn with the border color.

drkns 24.08.2011 23:47:55 +0200 - build 2165

1. A critical section instead of a mutex in PluginSynchro.

2. A couple of minor issues.

svs 24.08.2011 17:15:00 +0300 - build 2164

1. FSF.FarNameToInputRecord returns TRUE even if a non-existing key name is passed, for example, "foobar".

zg 23.08.2011 22:43:26 +0200 - build 2163

1. macros added with MCTL_ADDMACRO are always checked in the same order.

zg 23.08.2011 22:11:33 +0200 - 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.

svs 23.08.2011 21:49:44 +0300 - 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 :-)

zg 23.08.2011 19:43:46 +0200 - build 2160

1. correction of 2159.3.

zg 23.08.2011 17:33:27 +0200 - 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.


drkns 23.08.2011 15:46:49 +0200 - 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.

drkns 23.08.2011 10:41:13 +0200 - build 2157

1. Mistype in 2155.

2. Correction of 2105 - Menu() second parameter was mandatory.

svs 22.08.2011 17:53:53 +0300 - 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)

drkns 22.08.2011 14:04:40 +0200 - build 2155

1. imports.?pp refactoring

2. Other minor issues.

svs 22.08.2011 11:33:37 +0300 - 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.

drkns 17.08.2011 15:43:18 +0200 - build 2153

1. Smart ARRAYSIZE() for gcc.

2. C++0x warnings.

3. makefile_gcc can work without msys.

svs 16.08.2011 14:08:31 +0300 - 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)

svs 16.08.2011 12:50:50 +0300 - build 2151

1. Mantis#0001848: The macro area is corrupted after return from modal editor

svs 16.08.2011 11:17:45 +0300 - 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.

drkns 15.08.2011 14:46:13 +0200 - 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.

drkns 14.08.2011 21:42:30 +0200 - build 2148

1. Folder Shortcuts have got new default behavior.

drkns 14.08.2011 16:12:58 +0200 - build 2147

1. Continuation of 908.1 - now it also works with gcc.

drkns 12.08.2011 18:55:54 +0200 - build 2146

1. In 2127, folder shortcuts were broken.

drkns 12.08.2011 15:28:28 +0200 - build 2145

1. A couple of new options in panel settings: "Highlight column separators", "Double global column separators".

svs 12.08.2011 09:36:55 +0300 - 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

svs 12.08.2011 09:32:28 +0300 - 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.

drkns 11.08.2011 16:06:20 +0200 - build 2142

1. Mantis#0001851: "Transparent" flag does not work with default colors for markers in files highlighting.

drkns 11.08.2011 13:44:23 +0200 - build 2141

1. Mantis#0001850: "Transparent" flag state is not saved for marking character in files highlighting.

2. Warnings.

svs 09.08.2011 23:18:26 +0300 - build 2140

1. Mantis#0001832: FarNameToInputRecord / FarInputRecordToName problem
   (from Maximus)
   "Left-side" macro was run in Common area instead of "right-side" one

drkns 08.08.2011 11:37:13 +0200 - build 2139

1.Mantis#0001589: Displaying of file extension in panel column or "Align file extensions"

drkns 08.08.2011 10:51:58 +0200 - build 2138

1. And more.

drkns 07.08.2011 00:19:21 +0200 - build 2137

1. Another couple of corrections in color processing.

drkns 06.08.2011 15:58:22 +0200 - build 2136

1. Correction of file highlighting load/save.

drkns 06.08.2011 13:02:39 +0200 - build 2135

1. Dependencies & warnings.

drkns 06.08.2011 11:42:59 +0200 - build 2134

1. Mantis#0001844: Exclusion masks do not work

drkns 05.08.2011 15:10:25 +0200 - build 2133

1. Warnings.

svs 05.08.2011 12:08:57 +0300 - 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"

drkns 05.08.2011 10:11:19 +0200 - 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.

drkns 04.08.2011 23:43:18 +0200 - 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.

drkns 04.08.2011 12:17:52 +0200 - build 2129

1. And once more.

drkns 04.08.2011 09:17:17 +0200 - build 2128

1. Correction of 2125.1.

svs 04.08.2011 02:55:52 +0300 - 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

drkns 03.08.2011 23:57:15 +0200 - 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.

drkns 03.08.2011 12:12:12 +0200 - build 2125

1. "Non-4 bit" colors are cast to standard console palette more or less adequately.

drkns 02.08.2011 21:00:36 +0200 - 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.

drkns 02.08.2011 10:55:14 +0200 - build 2123

1. Mantis#0001842: incorrect buffer read in Execute.cpp

svs 01.08.2011 15:43:24 +0300 - build 2122

1. Mantis#0001832: FarNameToInputRecord / FarInputRecordToName problem
   (from Maximus + skirda)
   The next iteration...

drkns 01.08.2011 11:02:24 +0200 - build 2121

1. Correction of extended color attributes handling in files highlighting.

drkns 31.07.2011 16:34:12 +0200 - build 2120

1. Correction for default highlighting of files.

drkns 31.07.2011 16:23:27 +0200 - build 2119

1. Correction of 2118.1.

drkns 31.07.2011 16:09:11 +0200 - build 2118

1. Inner changes in color processing.

2. Experimental support for external rendering of FAR window.

drkns 28.07.2011 19:46:22 +0200 - build 2117

1. Wipe progress bar is now shown.

2. Wrapper can be switched off at compile time.

drkns 25.07.2011 19:15:39 +0200 - 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).

svs 24.07.2011 10:17:29 +0300 - 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)

drkns 21.07.2011 21:28:51 +0200 - build 2114

1. Correction of 2113.1.

drkns 21.07.2011 10:15:15 +0200 - build 2113

1. Now Far processes `set <var>` command by itself.

drkns 20.07.2011 13:13:51 +0200 - build 2112

1. More correct message about starting error for the case of comspec use.

drkns 12.07.2011 11:07:16 +0200 - build 2111

1. Inner changes in color processing.

drkns 11.07.2011 21:29:12 +0200 - build 2110

1. Continuation of 2109.

drkns 11.07.2011 20:59:48 +0200 - build 2109

1. Refactoring of Edit / EditControl.

zg 10.07.2011 21:53:31 +0200 - build 2108

1. correction of 2106.1. MacroSendMacroText.AKey type is INPUT_RECORD because the mouse buttons may be AKey too.

zg 10.07.2011 16:02:13 +0200 - build 2107

1. a second parameter is added to PluginStartupInfo.InputBox, the GUID of the created dialog.

zg 10.07.2011 15:43:54 +0200 - build 2106

1. MacroSendMacroText.AKey type is now FarKey.

zg 10.07.2011 03:08:53 +0200 - 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.

drkns 09.07.2011 14:58:46 +0200 - build 2104

1. Rollback of 1771.2.

drkns 09.07.2011 02:05:28 +0200

1. farkeys.hpp is no longer in API. KEY_* constants are for inner use only.

zg 09.07.2011 01:10:01 +0200 - build 2103

1. dropped FarInputRecordToKey and FarKeyToInputRecord.

2. FarKeyToName is replaced with FarInputRecordToName.

3. FarNameToKey is replaced with FarNameToInputRecord.

drkns 08.07.2011 12:40:30 +0200 - build 2102

1. #0001830 once more.

drkns 07.07.2011 19:55:23 +0200 - build 2101

1. Mantis#0001830: elevation on attempt to copy a file from network to nul

drkns 07.07.2011 12:31:47 +0200 - build 2100

1. DM_SETHISTORY event did not work.

drkns 07.07.2011 10:43:36 +0200 - build 2099

1. VMenu.UserData still reminds of itself.

drkns 04.07.2011 21:44:34 +0200 - build 2098

1. Another portion of size_t in API.

drkns 04.07.2011 16:15:32 +0200 - build 2097

1. Correction of 2090.2.

drkns 04.07.2011 13:49:58 +0200 - build 2096

1. Correction of 2062.1. As a consequence, Mantis#0001824: Excessive elevation in Drive menu.

drkns 04.07.2011 08:26:08 +0200 - build 2095

1. Mantis#0001672: visual bugs after dialog close and Autocompletion

drkns 03.07.2011 21:00:12 +0200 - build 2094

1. Mantis#0001822: grabber is broken

drkns 02.07.2011 13:47:03 +0200 - build 2093

1. Switching low-fragmentation heap on only wherre is is actual.

drkns 01.07.2011 22:03:37 +0200 - build 2092

1. Mantis#0001820: Panel drawing error with OPIF_DISABLEHIGHLIGHTING

drkns 01.07.2011 13:08:33 +0200 - build 2091

1. %FARPROFILE%, %FARLOCALPROFILE%.

drkns 01.07.2011 09:06:56 +0200 - 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.

svs 30.06.2011 13:53:47 +0300 - 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)

drkns 29.06.2011 11:26:35 +0200 - build 2088

1. Some debugging junk in 2087.

drkns 29.06.2011 11:12:33 +0200 - build 2087

1. Functional under win2k again.

drkns 29.06.2011 08:28:07 +0200 - build 2086

1. Mantis#1801 consequences.

drkns 29.06.2011 00:43:46 +0200 - build 2085

1. Mantis#0001816: Error in ANSI wrapper dialog colors.

drkns 28.06.2011 22:38:49 +0200 - build 2084

1. Correction of 2080.1.

drkns 28.06.2011 22:09:23 +0200 - build 2083

1. Correct GUID for Network plugin.

2. Mantis#0001766: Viewer new version.

drkns 28.06.2011 17:43:08 +0200 - build 2082

1. Parameters are changed in ClosePanelW, ConfigureW, ProcessDialogEventW, ProcessEditorEventW, ProcessPanelEventW, ProcessPanelInputW, ProcessSynchroEventW, ProcessViewerEventW.

drkns 28.06.2011 11:21:36 +0200 - build 2081

1. Mantis#0001815: Error in ACTL_GETARRAYCOLOR

2. Another gcc headers inadequacy.

3. Rollback of 2079.2.

drkns 27.06.2011 15:23:38 +0200 - build 2080

1. On elevation, basic and auxiliary processes are bound to one job object.

drkns 27.06.2011 11:59:49 +0200 - build 2079

1. Mantis#0001809: Incorrect console scrolling on exit.

2. Endless loop on tree creation for directories "." and "..".

drkns 25.06.2011 18:20:20 +0200 - build 2078

1. Mantis#0001812: Editor highlighting is broken

drkns 24.06.2011 21:31:25 +0200 - build 2077

1. Mantis#0001807: Freeze after CtrlAltPgUp/CtrlAltPgDn key press

drkns 23.06.2011 16:46:50 +0200 - build 2076

1. Mantis#0001801: process full PluginPanelItem.FileName content in filter

2. Mantis#0001805: Mistypes 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

drkns 21.06.2011 21:51:58 +0200 - build 2075

1. ACTL_GETSYSWORDDIV expects the buffer size in Param1.

2. More changes on 2070.

drkns 21.06.2011 20:14:06 +0200 - build 2074

1. And more.

drkns 21.06.2011 19:06:45 +0200 - build 2073

1. And once more.

drkns 21.06.2011 14:17:17 +0200 - build 2072

1. Correction of 2070.

drkns 21.06.2011 10:53:36 +0200 - build 2071

1. Continuation of 2070.
   API uses FAR_CHAR_INFO instead of CHAR_INFO.

drkns 20.06.2011 23:22:12 +0200 - 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.

drkns 18.06.2011 20:39:57 +0200 - build 2069

1. Mantis#0001800: CPU idle load.

drkns 17.06.2011 08:17:00 +0200 - build 2068

1. Completion list separators have got captions now.

2. Inner changes in color processing.

drkns 16.06.2011 19:44:44 +0200 - build 2067

1. Dialog invocation after DM_CLOSE caused FAR crash.

2. Directory read optimization.

3. Corrections in plugin.hpp.

svs 10.06.2011 13:33:43 +0300 - 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]])

svs 07.06.2011 14:04:54 +0300 - 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

svs 06.06.2011 18:08:55 +0300 - 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.

t-rex 05.06.2011 21:47:13 +0200 - build 2063

1. From Maximus: Mantis#1794: If CtrlAltF filtering removes all items from a list, then it is not redrawn.

drkns 03.06.2011 15:38:45 +0200 - 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.

svs 03.06.2011 09:15:08 +0300 - 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)

drkns 31.05.2011 18:23:46 +0200 - build 2060

1. Mantis#0001787: ANSI wrapper error (ACTL_GETWINDOWINFO).

svs 28.05.2011 15:19:55 +0300 - build 2059

1. Mantis#0001786: Problems with network drives connection
   (from Maximus)

svs 28.05.2011 10:56:14 +0300 - build 2058

1. Mantis#0001782: Selection error when TABs are present

t-rex 28.05.2011 02:22:22 +0200 - build 2057

1. Mantis#0001784: Plugin cache bugs (continued).

drkns 27.05.2011 09:34:24 +0200 - build 2056

1. On new file creation, the codepage was set incorrectly.

drkns 27.05.2011 09:15:37 +0200 - build 2055

1. Mantis#0001784: Plugin cache bugs

svs 26.05.2011 16:17:09 +0300 - 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)

drkns 26.05.2011 14:35:27 +0200 - build 2053

1. Just in case, situation "UID obtained from cache does not match the one received from the plugin" is taken into account.

drkns 26.05.2011 14:11:16 +0200 - build 2052

1. Correction of 2050.

drkns 26.05.2011 08:52:56 +0200 - build 2051

1. More correct solution for M#1783.

drkns 25.05.2011 16:40:51 +0200 - build 2050

1. Continuing the wrapper abstraction.

2. Mantis#0001783: Garbage in console caption when copying files

drkns 25.05.2011 12:15:20 +0200 - build 2049

1. Continuing the wrapper abstraction.

drkns 24.05.2011 23:49:08 +0200 - 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.

drkns 23.05.2011 21:31:52 +0200 - build 2047

1. Wrong dialogs centering in some cases.

svs 23.05.2011 16:38:21 +0300 - 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)

svs 23.05.2011 12:13:01 +0300 - build 2045

1. Mantis#0001775: Shift-F4: Possibility of repeated automatic codepage detection at file open
   (from 2useven10)

zg 21.05.2011 20:32:05 +0200 - 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.

t-rex 21.05.2011 13:06:02 +0200 - 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

drkns 21.05.2011 13:00:29 +0200 - 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

zg 20.05.2011 21:25:11 +0200 - 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.

svs 20.05.2011 17:44:06 +0300 - 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 :-(

drkns 20.05.2011 15:02:43 +0200 - build 2039

1. At folder creation, it is possible to add its reparse point.

2. A couple of minorities

svs 20.05.2011 11:13:13 +0300 - 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


drkns 20.05.2011 09:07:19 +0200 - build 2037

1. ExitInfo structure is passed to ExitFARW (for the future).

svs 19.05.2011 18:11:44 +0300 - 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)

svs 19.05.2011 14:25:38 +0300 - build 2035

1. Mantis#0001772: Minor makeup in CacheRead code and its use in the viewer
   minor code cleanup
   (from 2useven10)

svs 19.05.2011 14:07:17 +0300 - 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)

drkns 17.05.2011 23:00:00 +0200 - build 2033

1. VMenu.UserData still recalls itself.

2. ConsoleTitle refactoring.

drkns 16.05.2011 20:41:14 +0200 - build 2032

1. Handle leak at virtual volumes detach.

2. Mantis#0001769: Error in DM_EDITUNCHANGEDFLAG(id,-1)

t-rex 15.05.2011 20:10:24 +0200 - build 2031

1. OpenW(OPEN_ANALYSE) may return -2 as before in OpenFilePluginW.

drkns 14.05.2011 18:06:52 +0200 - build 2030

1. Crash at processing a filter in the history.

2. GCC.

svs 14.05.2011 14:53:18 +0300 - 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)

drkns 11.05.2011 20:49:34 +0200 - build 2028

1. Some minor changes.

svs 11.05.2011 17:44:58 +0300 - 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.

svs 10.05.2011 09:29:07 +0300 - build 2026

1. Mantis#0001760: FSF.FarInputRecordToKey modifies inner FAR variables

drkns 08.05.2011 16:37:54 +0200 - 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 minorities.

drkns 04.05.2011 12:24:24 +0200 - build 2024

1. And more.

drkns 04.05.2011 12:06:23 +0200 - build 2023

1. And once more.

drkns 04.05.2011 11:19:21 +0200 - build 2022

1. Continuation of 2021.

drkns 04.05.2011 10:15:20 +0200 - build 2021

1. VMenu.UserData again: DM_LISTGETDATA now always returns a pointer to data.

drkns 03.05.2011 15:27:09 +0200 - build 2020

1. Correction of the previous build.

drkns 03.05.2011 12:41:45 +0200 - 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

drkns 30.04.2011 16:28:33 +0200 - build 2018

1. warnings.

2. makeup in BaseFormat.

drkns 29.04.2011 23:55:55 +0200 - build 2017

1. GCC warnings.

2. A couple of minorities.

t-rex 29.04.2011 21:06:02 +0200 - 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.

t-rex 29.04.2011 03:57:23 +0200 - 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.

t-rex 29.04.2011 00:42:27 +0200 - 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.

t-rex 28.04.2011 21:44:56 +0200 - build 2013

1. Useless code was forgotten.

t-rex 28.04.2011 21:33:34 +0200 - 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.

drkns 28.04.2011 14:16:24 +0200 - build 2011

1. A couple of minorities on paths initialization.

drkns 28.04.2011 13:52:23 +0200 - 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.

drkns 28.04.2011 08:51:32 +0200 - build 2009

1. Unicode support in xml file names.

t-rex 28.04.2011 02:08:28 +0200 - build 2008

1. Incorrect creation of xml with non-English file name.

t-rex 28.04.2011 01:57:57 +0200 - build 2007

1. HierarchicalConfig bases export capability (import will be done later).
   I.e. pluginsconfig, filters, highlight, shortcuts.

t-rex 27.04.2011 23:34:03 +0200 - build 2006

1. Associations export/import capability.
   Before the import, all current associations are deleted (if "associations" tag exists in xml).

t-rex 27.04.2011 21:16:21 +0200 - build 2005

1. Moved db/xml dependent code from main.cpp to configdb.cpp.

t-rex 27.04.2011 20:35:54 +0200 - 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.

drkns 27.04.2011 15:48:21 +0200 - build 2003

1. ucd, sqlite and tinyxml build is redone.

t-rex 27.04.2011 14:35:14 +0200 - build 2002

1. Continuing playing with xml.

drkns 27.04.2011 11:36:52 +0200 - build 2001

1. Plugin which exported ProcessDialogEvent and created dialogs in SetStartupInfo caused far recursion.

svs 27.04.2011 10:11:51 +0300 - build 2000

   Millennium! :-)

1. Mantis#0001751: Menu creation in a macro

t-rex 27.04.2011 01:40:51 +0200 - build 1999

1. Initial stage of xml settings import/export implementation.
   tinyxml is added to the project.

t-rex 26.04.2011 22:54:14 +0200 - 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).

t-rex 26.04.2011 00:40:52 +0200 - 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).

t-rex 25.04.2011 22:36:30 +0200 - build 1996

1. An addition in DlgBuilder.

t-rex 25.04.2011 21:26:05 +0200 - build 1995

1. Additions in DlgBuilder.

drkns 24.04.2011 13:38:27 +0200 - build 1994

1. Once again, the epic about VMenu.UserData.

t-rex 24.04.2011 04:06:00 +0200 - 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.

t-rex 23.04.2011 12:10:43 +0200 - build 1992

1. For the future, "System.Exception.FarEvent.svc" setting is renamed to "System.Exception.FarEventSvc".

t-rex 23.04.2011 02:04:07 +0200 - build 1991

1. Unused code is removed.

t-rex 23.04.2011 00:44:55 +0200 - 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.

t-rex 22.04.2011 19:39:06 +0200 - 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?

drkns 22.04.2011 16:16:16 +0200 - build 1988

1. ACTL_GETCOLOR, ACTL_SETCURRENTWINDOW, ACTL_SETPROGRESSSTATE, ACTL_WAITKEY use Param1.

drkns 22.04.2011 15:44:44 +0200 - build 1987

1. All *Control functions now return INT_PTR.

2. Param2 is now void* everywhere.

3. gcc warnings.

t-rex 22.04.2011 15:11:26 +0200

1. Help topic about user menu is updated.

2. Help topic about filters is added.

drkns 22.04.2011 08:37:22 +0200 - build 1986

1. Continuing 1982.1.

t-rex 22.04.2011 03:24:23 +0200 - 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.

drkns 21.04.2011 21:21:21 +0200 - build 1984

1. Mantis#0001100: AltShiftIns on .. copies path with the trailing backslash into the clipboard

svs 21.04.2011 20:50:39 +0300 - 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.

drkns 21.04.2011 16:44:21 +0200 - 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 minorities.

t-rex 21.04.2011 03:19:32 +0200 - build 1981

1. Warnings etc.

t-rex 21.04.2011 01:56:16 +0200 - build 1980

1. poscache in sqlite, it will be stored along with the history, 50% completed, does not work yet.

t-rex 20.04.2011 21:14:08 +0200 - 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.

drkns 20.04.2011 15:56:22 +0200 - build 1978

1. Refactoring of plugin classes. Duplicating code is removed.

t-rex 20.04.2011 01:47:43 +0200 - 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.

t-rex 19.04.2011 22:51:10 +0200 - build 1976

1. $N -> ?N in sqlite statements for the history.

t-rex 19.04.2011 22:45:21 +0200 - 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).

drkns 19.04.2011 16:35:53 +0200 - 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.

t-rex 19.04.2011 03:40:18 +0200 - build 1973

1. folder shortcuts in sqlite.

t-rex 19.04.2011 01:09:36 +0200 - build 1972 - Hag Sameach!

1. filters and highligh in sqlite (pluginsconfig.db must be removed again).

t-rex 18.04.2011 21:19:35 +0200 - build 1971

1. Using MSG_NOPLUGINS for plugin loading error message to avoid possible problems as in 1969.

t-rex 18.04.2011 16:52:37 +0200 - 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.

t-rex 18.04.2011 13:38:58 +0200 - build 1969

1. If a plugin could not be loaded at the moment of ProcessDialogEventW then infinite recursion took place.

t-rex 18.04.2011 12:57:18 +0200 - build 1968

1. A minor bug in GlobalUserMenuDir initialization.

drkns 17.04.2011 23:26:31 +0200 - build 1967

1. far.exe.ini in unicode.

2. pluginscache.db moved to %localappdata%.

t-rex 17.04.2011 22:47:56 +0200 - 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.

drkns 17.04.2011 20:42:03 +0200 - 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.

t-rex 17.04.2011 19:42:24 +0200 - 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.

t-rex 16.04.2011 22:58:48 +0200 - 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?

t-rex 16.04.2011 14:46:55 +0200 - build 1962

1. PluginCache in sqlite: done. Old plugincache.db must be deleted.

t-rex 16.04.2011 01:15:31 +0200 - build 1961

1. PluginHotKeys in sqlite: done.

2. PluginCache in sqlite - database structure is done; also, a couple of queries (~30%).

t-rex 15.04.2011 21:45:01 +0200 - 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.

svs 15.04.2011 10:06:10 +0300 - 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

t-rex 15.04.2011 03:28:35 +0200 - 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.

drkns 12.04.2011 21:26:28 +0200 - build 1957

1. Rollback of 1956.

drkns 12.04.2011 19:00:53 +0200 - build 1956

1. No need to type "cd" or "chdir" for entering a folder.

drkns 12.04.2011 00:14:07 +0200 - build 1955

1. A couple of corrections on folder shortcuts.

drkns 11.04.2011 14:42:32 +0200 - build 1954

1. Codepage autodetection in editor and viewer is on by default.

drkns 11.04.2011 14:42:32 +0200 - build 1953

1. Plugin panel excessive update on exit from editor without saving.

t-rex 11.04.2011 05:02:11 +0200 - build 1952

1. Associations in sqlite are completed, the old associations.db must be removed.

svs 10.04.2011 00:19:01 +0300 - 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)

drkns 08.04.2011 13:47:00 +0200 - build 1950

1. Color selection dialog is available to plugins.

drkns 08.04.2011 12:17:31 +0200 - build 1949

1. Mantis#0001746: Quick elements removal from autocompletion list

2. One more correction of 1930.

3. A few minor issues.

drkns 06.04.2011 21:34:29 +0200 - build 1948

1. reinterpret_cast -> static_cast where it is possible.

drkns 06.04.2011 13:24:53 +0200 - build 1947

1. Strings containing \0 were copied to clipboard incorrectly.

2. Error in VMenu::<G|S>etUserData.

svs 06.04.2011 13:43:53 +0300 - 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)


t-rex 06.04.2011 01:51:53 +0200 - build 1945

1. associations in sqlite - 90% complete (swap and creation of a new one under the cursor are not completed yet).

drkns 05.04.2011 17:02:32 +0200 - build 1944

1. Minor refactoring of dialog engine.

drkns 05.04.2011 11:54:24 +0200 - build 1943

1. Correction of completion algorithm.

svs 05.04.2011 09:48:10 +0300 - 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.

drkns 03.04.2011 20:46:44 +0200 - build 1941

1. Continuation of 1940.

drkns 03.04.2011 20:46:44 +0200 - build 1940

1. An element appended to input field history with DM_ADDHISTORY was not accessible in completion list.

drkns 03.04.2011 20:46:44 +0200 - build 1939

1. Mantis#0000502: apiCreateFile rights for the Viewer.

2. A few trivial fixes.

svs 31.03.2011 13:43:54 +0300 - 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" :-))

drkns 31.03.2011 12:12:12 +0200 - build 1937

1. FormatString and NTPath classes are based on UnicodeString.

2. Continuing printf elimination.

svs 28.03.2011 19:19:10 +0300 - build 1936

1. Mantis#0001718: The absence of ECF_TAB1 does not always work correctly
   Correction taking the last TAB character into account.

drkns 28.03.2011 15:58:34 +0200 - build 1935

1. VC code analysis warnings.

t-rex 27.03.2011 22:19:24 +0200 - 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.

drkns 26.03.2011 19:41:35 +0200 - build 1933

1. Correction of 1930.1.

drkns 25.03.2011 19:03:05 +0200 - build 1932

1. x64 warnings.

2. Mantis#0001735: incorrect displayiog of volume name in info panel if UNC path is used

drkns 24.03.2011 10:59:59 +0200 - build 1931

1. Types correction.

drkns 23.03.2011 17:00:00 +0200 - build 1930

1. Now settings are guaranteed to be saved when the console is closed with [x] button.

drkns 23.03.2011 10:52:38 +0200 - build 1929

1. Mantis#0001661: Debug version crashes at regexp search.

t-rex 23.03.2011 01:18:18 +0200 - 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

drkns 22.03.2011 17:04:11 +0200 - build 1927

1. In 1911, the shortcuts with environment variables didn't work.

drkns 22.03.2011 15:55:16 +0200 - build 1926

1. For the future: Opt.LocalProfilePath == "%LOCALAPPDATA%\Far Manager\Profiles\<Default|ProfileName>".

t-rex 22.03.2011 00:04:16 +0200 - build 1925

1. From 2useven10: Hex view for UTF-8.

2. From Maximus: Mantis#1731: "Cannot find the file" error after exit from TempPanel.

t-rex 21.03.2011 22:53:37 +0200 - 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.

drkns 21.03.2011 22:16:11 +0200 - 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.

drkns 21.03.2011 16:17:18 +0200 - 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".

drkns 21.03.2011 11:11:11 +0200 - 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"

t-rex 20.03.2011 23:20:31 +0200 - 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.

t-rex 20.03.2011 19:16:44 +0200 - build 1919

1. Debug target build failure.

t-rex 20.03.2011 18:23:03 +0200 - 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.

t-rex 20.03.2011 02:45:34 +0200 - 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.

t-rex 19.03.2011 21:35:56 +0200 - 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.

t-rex 19.03.2011 17:59:17 +0200 - 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.

zeroes 18.03.2011 16:22:17 +200 - build 1914

1. Correction of the type of a variable

svs 18.03.2011 16:51:39 +0300 - 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.

drkns 18.03.2011 10:06:22 +0200 - build 1912

1. Correction of 1911.

drkns 18.03.2011 09:05:21 +0200 - 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).

drkns 17.03.2011 21:31:28 +0200 - build 1910

1. Correction of types in plugin api.

svs 17.03.2011 17:55:16 +0300 - 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

drkns 14.03.2011 11:11:11 +0200 - build 1908

1. PluginHotkeys is now in GUID\GUID format.

2. Commands, viewer/editor, folder, dialog histories moved to History subkey.

drkns 10.03.2011 20:54:46 +0200 - build 1907

1. Error loading plugins from cache.

drkns 11.03.2011 14:12:42 +0200 - 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.

drkns 10.03.2011 16:22:44 +0200 - build 1905

1. Warnings, optimization.

drkns 10.03.2011 12:10:12 +0200 - 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

svs 09.03.2011 08:15:51 +0300 - build 1903

1. Mantis#0000786: Incorrect output of UTF-8 encoded files content in viewer after positioning at search results
   from 2useven10

drkns 08.03.2011 09:23:34 +0200 - build 1902

1. Correction of 1892.1.

drkns 07.03.2011 21:45:33 +0200 - build 1901

1. Correction of 1899.2.

drkns 07.03.2011 14:43:32 +0200 - build 1900

1. All buttons in Message() were "default".

drkns 07.03.2011 13:35:35 +0200 - 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.

zg 07.03.2011 12:29:13 +0200 - 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 01.03.2011 11:12:03 +0200 - build 1897

1. Regular expressions replacement used to crash on empty parentheses.

drkns 28.02.2011 14:27:07 +0200 - build 1896

1. Plugins\<PluginGUID> keys contain PluginTitle as Default, for those manual editing fans.

drkns 27.02.2011 23:33:05 +0200 - build 1895

1. Correction of debug versions of delete[] and delete.

drkns 27.02.2011 13:26:39 +0200 - build 1894

1. Plugin settings are now stored at Plugins\<PluginGUID> instead of Plugins\<PluginTitle>.

drkns 24.02.2011 21:04:51 +0200 - build 1893

1. Warnings.

drkns 24.02.2011 20:34:19 +0200 - build 1892

1. Some correction on launcher functionality.

drkns 24.02.2011 17:09:22 +0200

1. Makeup.

drkns 24.02.2011 16:48:26 +0200 - build 1891

1. OpenFilePluginW = AnalyseW + OpenPanelW.
   OpenPluginW = OpenPanelW
   ClosePluginW = ClosePanelW
   GetOpenPluginInfoW = GetOpenPanelInfoW
   OpenPluginInfo = OpenPanelInfo
   FCTL_CLOSEPLUGIN = FCTL_CLOSEPANEL

zg 24.02.2011 02:48:54 +0200 - 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.

drkns 23.02.2011 20:34:14 +0200 - build 1889

1. VC level 4 warnings.

1. Rollback of 1781.2

drkns 21.02.2011 09:36:32 +0200 - build 1888

1. gcc warnings & O3 optimization.

zg 20.02.2011 19:22:59 +0200 - build 1887

1. correction of SettingsControl(...,SCTL_SET,...): if Type equals to FST_SUBKEY then a key "Name" is created.

2. correction of 1886.

zg 20.02.2011 19:00:26 +0200 - 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.

drkns 20.02.2011 16:53:10 +0200 - build 1885

1. And more.

drkns 20.02.2011 16:36:47 +0200 - build 1884

1. Correction of types in plugin.hpp.

2. gcc warnings.

svs 19.02.2011 10:26:53 +0300 - build 1883

1. Correction of build 1880

svs 18.02.2011 15:36:25 +0300 - build 1882

1. Correction of build 1880

drkns 18.02.2011 13:50:12 +0200 - 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.

svs 18.02.2011 11:10:57 +0300 - 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.

drkns 18.02.2011 09:21:21 +0200 - build 1879

1. In 1810, renaming to "*.ext" was broken.

drkns 17.02.2011 17:03:03 +0200 - build 1878

1. Bugs in wrapper.

drkns 17.02.2011 14:39:39 +0200 - build 1877

1. gcc.

drkns 17.02.2011 12:35:35 +0200 - build 1876

1. Correction of types in plugin.hpp.

2. Bugs in wrapper.

drkns 16.02.2011 21:03:11 +0200 - build 1875

1. Techinfo #48 is removed.

drkns 16.02.2011 19:57:08 +0200 - build 1874

1. Correction of types in plugin.hpp.

drkns 16.02.2011 17:00:00 +0200 - build 1873

1. Correction of types in plugin.hpp.

2. vc build.

3. warnings.

zg 16.02.2011 12:32:54 +0200 - 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.

zg 16.02.2011 02:23:03 +0200 - 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.

t-rex 16.02.2011 01:00:45 +0200 - build 1870

1. Miscellaneous additions and corrections in DialogBuilder.

t-rex 14.02.2011 21:28:51 +0200 - 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.

drkns 13.02.2011 21:56:25 +0200 - build 1868

1. Warnings.

zg 13.02.2011 21:25:20 +0200 - 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.

zg 13.02.2011 15:29:55 +0200 - 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.

zg 13.02.2011 11:01:58 +0200 - build 1865

1. disk menu plugin hotkeys were not read.

drkns 13.02.2011 00:39:44 +0200 - build 1864

1. debug build is fixed.

2. ACTL_GETPOLICIES is removed.

zg 12.02.2011 23:57:50 +0200 - 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.

zg 12.02.2011 20:10:48 +0200 - 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.

drkns 12.02.2011 18:01:44 +0200 - build 1861

1. Fix for an ancient bug related to DefDlgProc for ANSI plugins.

zg 11.02.2011 18:45:24 +0200 - 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.

zg 11.02.2011 17:01:22 +0200 - 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.

t-rex 11.02.2011 13:04:02 +0200 - 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.

svs 11.02.2011 10:27:51 +0300 - build 1857

1. Mantis#0001482: Improvement of <!Macro:Vars!> and <!Macro:Consts!> output

t-rex 11.02.2011 01:56:20 +0200 - build 1856

1. ANSI code cleanup in DialogBuilder.

2. A couple makeup trivia in code.

drkns 11.02.2011 00:14:23 +0200 - 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.

zg 11.02.2011 00:03:05 +0200 - build 1854

1. rollback of 1853.

2. correction of 1852, -1 for the current editor/viewer.

t-rex 10.02.2011 22:59:45 +0200 - build 1853

1. For 1852 to work, Viewer/EditorID in FAR must start from 1, not from 0.

t-rex 10.02.2011 20:15:23 +0200 - 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.

svs 10.02.2011 18:26:54 +0300 - 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.

zg 10.02.2011 14:25:07 +0200 - 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.

svs 10.02.2011 12:01:19 +0300 - 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


zg 10.02.2011 02:16:46 +0200 - build 1848

1. correction of 1846.2.

zg 10.02.2011 01:52:02 +0200 - build 1847

1. dialog plugins are prohibited for the dialog on plugin/FAR version mismatch.

2. FMSG_LEFTALIGN was malfunctional.

zg 10.02.2011 01:00:03 +0200 - 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.

zg 09.02.2011 20:25:20 +0200 - build 1845

1. FarDialogItem.Param.ListPos is removed.

svs 09.02.2011 18:51:58 +0300 - 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;
     };

zg 09.02.2011 15:19:00 +0200 - build 1843

1. Correction of 1842.1: GetPluginDirList, Menu, Message, InputBox, AdvControl, DialogInit, GetMsg sometimes worked wrong in SetStartupInfoW and GetPluginInfoW.

zg 09.02.2011 03:42:44 +0200 - 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.

zg 09.02.2011 00:36:50 +0200 - 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.

drkns 08.02.2011 21:48:00 +0200 - build 1840

1. DIF_INTERNALFOCUS & DIF_DEFAULT are removed.

2. plugin.hpp is redone a little.

zg 08.02.2011 19:39:28 +0200 - build 1839

1. flags were read incorrectly from plugin cache.

drkns 08.02.2011 16:52:23 +0200 - build 1838

1. VC warnings.

zg 08.02.2011 14:57:17 +0200 - 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).

zg 08.02.2011 13:54:18 +0200 - 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.

svs 08.02.2011 11:41:03 +0300 - 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)

t-rex 08.02.2011 01:29:17 +0200 - 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.

zg 08.02.2011 00:40:42 +0200 - build 1833

1. implementation of CallPlugin&FindPlugin for GUIDs.

drkns 07.02.2011 23:12:53 +0200 - build 1832

1. Mistype in 1831.

drkns 07.02.2011 21:12:08 +0200 - 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.

zg 07.02.2011 12:41:30 +0200 - 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.

drkns 06.02.2011 16:24:19 +0200 - build 1829

1. Importing settings from Far2.

drkns 06.02.2011 14:05:06 +0200 - build 1828

1. xor and other according tricks are removed from copyright line.

2. The registry key is now "Far Manager".

drkns 06.02.2011 13:11:59 +0200 - build 1827

1. Plugins hotkeys in drives menu did not work.

2. Plugins in drives menu can be sorted by hotkeys (F9).

drkns 06.02.2011 12:11:59 +0200 - build 1826

1. Info.CmpName is removed.

2. OPIF_USESORTGROUPS -> OPIF_DISABLESORTGROUPS, OPIF_USEHIGHLIGHTING -> OPIF_DISABLEHIGHLIGHTING.

t-rex 05.02.2011 23:19:46 +0200

1. FAR version is now 3.0

drkns 05.02.2011 15:30:10 +0200 - 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.

drkns 04.02.2011 23:53:23 +0200 - build 1824

1. x64 debug build was malfunctional.

2. Warning.

zg 04.02.2011 23:36:52 +0200 - 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.

zg 04.02.2011 21:50:22 +0200 - build 1822

1. correction of 1820 for NumEnter.

2. gcc warnings.

drkns 04.02.2011 16:50:21 +0200 - build 1821

1. FAR_FIND_DATA is removed, the content is moved to PluginPanelItem. Also, ChangeTime is added there.

svs 04.02.2011 17:43:54 +0300 - build

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!

svs 04.02.2011 16:39:35 +0300 - 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 :-)

yjh 04.02.2011 15:29:20 +0300 - build 1819

1. 64bit warnings

drkns 04.02.2011 14:15:16 +0200 - build 1818

1. Alignment for x86 is now 8 bytes too.

drkns 04.02.2011 00:37:26 +0200 - build 1817

1. Bells and whistles: proper copyright character "©" instead of "(C)".

zg 03.02.2011 18:27:43 +0200 - 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.

zg 03.02.2011 16:05:25 +0200 - build 1815

1. FAR_PKF_FLAGS is removed.

2. PKF_PREPROCESS support is removed.

zg 03.02.2011 15:12:44 +0200 - build 1814

1. INPUT_RECORD appears in ProcessKeyW.

2. FSF is appended with FarKeyToInputRecord.

drkns 03.02.2011 14:25:22 +0200 - build 1813

1. Corrections in setattr and fileowner.

2. macrocompuler.?pp -> macrocompiler.?pp

zg 03.02.2011 13:05:54 +0200 - 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.

svs 03.02.2011 13:34:09 +0300 - 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).

drkns 03.02.2011 10:07:07 +0200 - 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.

drkns 03.02.2011 09:12:32 +0200 - build 1809

1. Fix for vc-build + warnings.

zg 03.02.2011 04:11:18 +0200 - 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.

drkns 02.02.2011 08:36:12 +0200 - build 1807

1. Correction of 1804.1.

svs 01.02.2011 18:10:02 +0300 - 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.

svs 01.02.2011 16:07:38 +0300 - 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!)


drkns 01.02.2011 14:02:14 +0200 - 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

drkns 29.01.2011 12:31:15 +0200 - build 1803

1. Correction of alternative streams search in folders.

svs 27.01.2011 13:30:39 +0300 - 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.

svs 25.01.2011 18:35:03 +0300 - build 1801

1. Macro: Correction of return code for callplugin

svs 25.01.2011 16:53:18 +0300 - 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.

drkns 23.01.2011 13:02:35 +0200 - build 1799

1. Error in FCTL_SETSORTMODE.

2. #0001670 once more.

drkns 22.01.2011 18:31:13 +0200 - build 1798

1. #0001670 once more.

drkns 20.01.2011 20:18:54 +0200 - build 1797

1. Correction of "read"/"modification" access rights separation in apiCreateFile.

drkns 20.01.2011 00:52:42 +0200 - build 1796

1. Links copying/moving did not work in several cases.

drkns 19.01.2011 21:21:30 +0200 - build 1795

1. Some more elevation-related paranoia:
     - pipe name = GUID;
     - PID check.

drkns 18.01.2011 14:47:00 +0200 - build 1794

1. Ibid:
     - correction of 1793;
     - paranoia mode on: Named pipe is now available for privileged processes only.

drkns 18.01.2011 00:53:26 +0200 - build 1793

1. Changes in elevation, see Mantis#0001670.

drkns 17.01.2011 13:27:27 +0200 - build 1792

1. Mantis#0001667: can't paste hex numbers

svs 16.01.2011 18:02:14 +0300 - build 1791

1. Mantis#0001660: XOR operation for boolean expressions
   "^^" conditional operation is added - XOR, exclusive OR

drkns 16.01.2011 00:20:57 +0200 - 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.

svs 14.01.2011 17:39:03 +0300 - 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.

svs 14.01.2011 17:11:42 +0300 - 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)

drkns 13.01.2011 22:33:26 +0200 - 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.

svs 13.01.2011 11:43:12 +0300 - 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

drkns 12.01.2011 16:15:14 +0200 - build 1785

1. And even more.

drkns 12.01.2011 13:14:15 +0200 - build 1784

1. Another pair of corrections in launcher.

drkns 11.01.2011 21:49:13 +0200 - build 1783

1. Correction of 1782.2.

drkns 11.01.2011 21:38:40 +0200 - 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.

drkns 10.01.2011 21:27:48 +0200 - 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.

drkns 10.01.2011 14:20:32 +0200 - 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.

drkns 09.01.2011 12:50:26 +0200 - 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.

drkns 08.01.2011 22:48:50 +0200 - build 1778

1. Fixed: Launch attempt was ignored for files of type unknown to OS.

drkns 07.01.2011 22:34:21 +0200 - build 1777

1. Mantis#0001644: Crash after "Cannot load language data".

drkns 05.01.2011 19:21:38 +0200 - build 1776

1. Correction of 1775.

drkns 05.01.2011 10:50:10 +0200 - 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.

drkns 02.01.2011 12:57:22 +0200 - build 1774

1. Correction of yyyy-MM-dd formatted dates output.

2. interf.cpp is cleaned a little bit.

svs 29.12.2010 16:09:28 +0300 - 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

drkns 29.12.2010 11:30:42 +0200 - build 1772

1. In 1741, SharePoint shares support was broken.
   It seems that Microsoft ignores its own API.

drkns 28.12.2010 12:55:27 +0200 - 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.

svs 28.12.2010 09:49:18 +0300 - 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".

svs 27.12.2010 12:45:54 +0300 - 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

drkns 24.12.2010 10:37:23 +0200 - build 1768

1. 1764 is continued - write timestamp is also taken from the source.

zg 20.12.2010 13:46:31 +0200 - 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.

drkns 19.12.2010 23:49:18 +0200 - build 1766

1. Correction of 1763.

svs 19.12.2010 22:52:53 +0300 - build 1765

1. Mantis#0001623: A new command in FARMACROCOMMAND - MCMD_GETAREA - Get current macro area
   (from Yegor)

drkns 18.12.2010 20:59:54 +0200 - build 1764

1. When "[x] Copy contents of symbolic links" is on, source size is displayed for symlinks in overwrite confirmation dialog.

drkns 18.12.2010 18:20:53 +0200 - build 1763

1. Correction of 1762.1 for "Year-Month-Day"-formatted dates.

drkns 17.12.2010 18:58:27 +0200 - build 1762

1. There were rumors about incorrect displaying of 5-digit years in the file attributes dialog.

drkns 15.12.2010 22:05:28 +0200 - build 1761

1. Dialogs are not centered on console resize.

drkns 14.12.2010 16:13:10 +0200 - build 1760

1. Correction of 1757.4.

drkns 13.12.2010 18:12:58 +0200 - build 1759

1. Rollback of 1756.

drkns 12.12.2010 20:01:39 +0200 - build 1758

1. Correction of 1757.2.

drkns 12.12.2010 19:43:37 +0200 - 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;"

drkns 12.12.2010 14:30:26 +0200 - build 1756

1. Some mouse events were not passed to the editor.

chupakabra 11.12.2010 16:02:00 +0200 - build 1755

1. Too much memory allocated in Editor::Block2Text (up to the size of the whole file).

drkns 10.12.2010 22:36:15 +0200 - build 1754

1. Correction of FindFirstStream inner implementation.

drkns 10.12.2010 20:02:21 +0200 - build 1753

1. "[x] Automatic update of environment variables" -> "[ ] Automatic update of environment variables".

2. Correction of console::Write().

drkns 10.12.2010 10:51:32 +0200 - build 1752

1. "[x] Automatic update of environment variables".

t-rex 10.12.2010 00:06:20 +0200 - 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).

drkns 08.12.2010 23:50:39 +0200 - 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.

drkns 08.12.2010 19:07:03 +0200 - 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)

drkns 07.12.2010 18:09:12 +0200 - build 1748

1. Handle leak in previous build.

drkns 07.12.2010 12:41:41 +0200 - build 1747

1. Mantis#0001615: A possibility to open path in panels that doesn't exist on volume or in network

drkns 07.12.2010 11:29:41 +0200 - build 1746

1. Correction of 1741.

drkns 07.12.2010 08:45:22 +0200 - build 1745

1. Another couple of trivia.

drkns 07.12.2010 01:02:52 +0200 - build 1744

1. Mantis#0001408: Paste into autocompleted field leaves the text "grayed" sometimes.

drkns 07.12.2010 00:04:33 +0200 - build 1743

1. Mantis#0001612: Possibility to set current time in file attributes change dialog

drkns 06.12.2010 20:09:35 +0200 - build 1742

1. When Far 1.x local menu files are read, former divider formatting is taken into account.

drkns 06.12.2010 19:42:33 +0200 - 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.

drkns 04.12.2010 11:11:27 +0200 - build 1740

1. From Tim Sobolev: correction of editor window caption.

2. Correction of 1738.2.

svs 03.12.2010 17:01:42 +0300 - 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

drkns 02.12.2010 20:06:35 +0200 - build 1738

1. Mantis#0001608: A minor bug at codepage duplicates search

2. Types correction.

drkns 01.12.2010 16:08:46 +0200 - build 1737

1. Correction of 1729.1.

drkns 26.11.2010 23:25:10 +0200 - build 1736

1. Incorrect processing of ';'-separated masks list containing "%pathext%".

drkns 26.11.2010 20:44:41 +0200 - build 1735

1. Mantis#0001591: Addition to FileFilterControl: Custom filters

2. Hiding useless elements in link creation dialog.

yjh 26.11.2010 11:00:23 +0300 - build 1734

1. Fixed error in 1732

drkns 25.11.2010 21:15:37 +0200 - build 1733

1. From Alexey Samlyukov: PFLAGS_USECRC32/OPIF_USECRC32 flags define explicitly that the plugin fills in its panel elements' CRC32 field.

drkns 25.11.2010 15:07:10 +0200 - build 1732

1. Correction of 1730.1 - In Windows 7 and higher, there is a single "App Paths".

drkns 25.11.2010 13:52:52 +0200 - build 1731

1. "[x] use additional privileges" option didn't work

yjh 25.11.2010 14:50:16 +0300 - build 1730

1. In win64, 'App Paths' registry key must be accessed in "two versions", for
   32- and 64-bit processes (they differ :)

drkns 25.11.2010 10:30:48 +0200 - build 1729

1. At rename/move, "[ ] Process multiple destinations" option is off and unused.

yjh 25.11.2010 08:55:14 +0300 - build 1728

1. ulink's def file was committed in its "debug" form

yjh 25.11.2010 04:42:51 +0300 - 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.

drkns 23.11.2010 20:39:55 +0200 - build 1726

1. From Alexey Samlyukov: malfunctional FreePluginDirList.

2. From Alexey Samlyukov: GetPluginDirList can process the passive panel.

drkns 22.11.2010 22:20:00 +0200 - build 1725

1. Minimal system requirements for VC2010 build are now 2k SP4 + KB816542, instead of XP SP3.

drkns 22.11.2010 14:27:37 +0200 - build 1724

1. Mantis#0001600: No entry in 'C:\Users\<User>\Application Data'

2. A couple of trivia.

drkns 17.11.2010 00:12:50 +0200 - build 1723

1. Mistype in 1722.

drkns 16.11.2010 19:14:24 +0200 - 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.

drkns 15.11.2010 13:47:00 +0200 - build 1721

1. Forum: "Problem when writing a macro".

t-rex 12.11.2010 21:32:19 +0200 - 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.

drkns 12.11.2010 19:39:44 +0200 - build 1719

1. Correction of 1718.

drkns 12.11.2010 13:47:00 +0200 - build 1718

1. Mantis#0001587: far:goto "c:\long path" was broken

drkns 12.11.2010 07:53:51 +0200 - build 1717

1. Correction of 1715.3.

drkns 11.11.2010 11:11:11 +0200 - build 1716

1. Sequel of 1715.3. w32api minimal version for gcc is now 3.15.

drkns 10.11.2010 20:50:52 +0200 - 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.

ts 09.11.2010 22:43:29 +0200 - build 1714

1. Macro: BM.back() is now given functionality implemented earlier with BM.prev()
   BM.prev() only returns to previous bookmark, as expected.

svs 08.11.2010 18:07:58 +0300 - 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.

drkns 08.11.2010 16:10:32 +0200 - 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.

ts 06.11.2010 20:45:04 +0200 - build 1711

1. Correction of 1710.

svs 05.11.2010 16:50:49 +0300 - 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().

drkns 03.11.2010 10:15:20 +0200 - build 1709

1. Correction of 1708.

drkns 31.10.2010 22:24:07 +0200 - build 1708

1. Experimental:
   - completion can append paths in the middle of the command line ("cd c:\wi").

drkns 30.10.2010 20:37:40 +0200 - build 1707

1. Copying of symlinks with "read only" attribute did not work.

drkns 28.10.2010 16:48:32 +0200 - build 1706

1. Mantis#0001559: "Cannot find the file" error on folder change from folders history

svs 27.10.2010 13:23:28 +0300 - build 1705

1. Macro: correction of Selected, Bof, Eof, Empty behavior.
   Now they meet the specification.

zg 27.10.2010 12:47:55 +0200 - build 1704

1. gcc build.

svs 26.10.2010 12:25:02 +0300 - 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".

drkns 26.10.2010 00:45:47 +0200 - build 1702

1. At users' wish, the rollback is rolled back.
   Privileges option is restored and it is off by default.

drkns 25.10.2010 21:39:28 +0200 - build 1701

1. Rollback of 1699.

drkns 25.10.2010 11:56:14 +0200 - build 1700

1. VCTL_GETINFO returned incorrect value of ViewerInfo::WindowSizeY.

drkns 24.10.2010 20:35:03 +0200 - build 1699

1. A separate option for controlling of extra privileges use.

drkns 23.10.2010 00:21:14 +0200 - 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.

drkns 21.10.2010 11:57:27 +0200 - build 1697

1. Symlink wipe led to damaged target file.

drkns 20.10.2010 11:42:42 +0200 - build 1696

1. Privileges elevation dialogs enabling/disabling is implemented in UI.

drkns 20.10.2010 10:45:45 +0200 - 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.

drkns 15.10.2010 13:23:23 +0200 - build 1694

1. PluginInfo::DiskMenuNumbers -> PluginInfo::Reserved0.

drkns 15.10.2010 09:22:33 +0200 - build 1693

1. Correction of 1692.

drkns 14.10.2010 20:01:32 +0200 - 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.

drkns 06.10.2010 19:59:59 +0200

1. ASLR.

drkns 03.10.2010 14:28:31 +0200 - build 1691

1. Correction of 1683.

drkns 03.10.2010 00:28:13 +0200 - build 1690

1. Error in processing of SetFilePointerEx "elevation-aware" version.

drkns 02.10.2010 23:36:23 +0200 - build 1689

1. Mantis#0001525: Copy folders with symbolic links (to other folders) inside

t-rex 01.10.2010 20:30:56 +0200 - 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.

t-rex 01.10.2010 08:21:10 +0200 - build 1687

1. Mantis#1520: crash on cd %tmp%
   Heap corruption in PrepareDiskPath(). Ibid, slight optimization is done.

t-rex 01.10.2010 04:17:16 +0200 - build 1686

1. In case of "preloaded" plugin requiring newer FAR (GetMinFarVersion), a loading error message was shown twice.

chupakabra 30.09.2010 21:33:00 +0200 - build 1685

1. Fix for 1684

chupakabra 30.09.2010 21:16:00 +0200 - build 1684

1. Mantis#0001514: Incorrect ConvertPath(CPM_REAL, ...) functionality on DFS
   Simple processing of network paths is added to internalNtQueryGetFinalPathNameByHandle().

drkns 28.09.2010 13:47:00 +0200 - build 1683

1. Editor hotkey F4 which performs "exit", similar to viewer.

2. A couple of things regarding to elevation.

svs 27.09.2010 16:59:30 +0300 - 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.

svs 23.09.2010 00:26:57 +0300 - 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)

drkns 21.09.2010 20:38:32 +0200

1. Another flaw in gcc headers.

warp 21.09.2010 00:30:00 +0100 build 1680

1. Some unnecessary stuff got into the wrapper. Returned.

warp 21.09.2010 00:15:00 +0100 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.

drkns 18.09.2010 19:11:51 +0200 - 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.

svs 17.09.2010 17:13:31 +0300 - 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.

t-rex 17.09.2010 12:49:19 +0200 - build 1676

1. oldfar::DM_GETTEXT incorrect handling if oldfar::FarDialogItemData.PtrLength==0.
   This behavior has to be removed from 2.0 API.

drkns 17.09.2010 10:53:53 +0200 - build 1675

1. Error in files decryption logic when copying.

drkns 16.09.2010 20:12:34 +0200 - build 1674

1. A correction of 1511: the editor caption stays changed for Unicode plugins only.

svs 16.09.2010 17:50:23 +0300 - 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

chupakabra 14.09.2010 21:33:00 +0200 - build 1672

1. Mantis#0000840: Low-fragmentation Heap is on for CRT heap.

drkns 14.09.2010 09:58:33 +0200 - build 1671

1. Metacharacters !?$history$(!.!)?! were handled incorrectly.

drkns 13.09.2010 11:30:02 +0200 - build 1670

1. Correction of 1669 :)

drkns 13.09.2010 11:28:01 +0200 - build 1669

1. A line was lost in imports.cpp

warp 10.09.2010 23:39:00 +0300 - 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).

drkns 10.09.2010 19:45:44 +0200 - 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.

drkns 09.09.2010 09:50:09 +0200 - build 1666

1. Mantis#0001495: Error in search (AltF7) in %PATH%.

chupakabra 05.09.2010 14:33:00 +0200 - build 1665

1. When PutFilesW()=1, the cursor is not set on directories.

chupakabra 02.09.2010 19:41:00 +0200 - build 1664

1. Rollback of 1661.

drkns 31.08.2010 12:40:01 +0200 - 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.

zg 30.08.2010 01:25:01 +0200 - build 1662

1. A separate GUID is assigned to a move/rename dialog. Earlier, the copy dialog's GUID was used.

chupakabra 26.08.2010 22:54:00 +0200 - build 1661

1. GetFilesW is always called with a full path given.

chupakabra 26.08.2010 22:22:00 +0200 - build 1660

1. ACTL_PROGRESSNOTIFY - Far performs standard notification of operation completion (flashing button in taskbar).

drkns 26.08.2010 21:02:33 +0200 - build 1659

1. Correction of DN_GETDIALOGINFO.

2. Makeup in hotplug.cpp.

drkns 27.08.2010 09:50:32 +0200

1. Spanish translation (lng file) from Mauro72.

svs 26.08.2010 07:50:23 +0300 - build

1. Mantis#0000986: Far 2 API - pascal
   PluginW.pas is updated.

zg 25.08.2010 12:12:25 +0200 - 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.

svs 25.08.2010 12:40:09 +0300 - build 1657

1. Panel API: FCTL_GETPANELFORMAT and FCTL_GETPANELHOSTFILE are added.
   (Mantis#0001472: Add FCTL_GETPANELFORMAT, FCTL_GETPANELHOSTFILE)

svs 25.08.2010 11:17:55 +0300 - 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.

zg 24.08.2010 20:38:59 +0200 - 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.

drkns 23.08.2010 19:54:28 +0200 - build 1654

1. Autocompletion also works for paths like %env%\foo.

drkns 22.08.2010 08:30:54 +0200 - build 1653

1. Virtual drives detection affects hard drives only.

svs 21.08.2010 23:18:55 +0300 - 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."

svs 21.08.2010 11:00:41 +0300 - build 1651

1. Macro: mload() function did not work

zg 20.08.2010 18:10:13 +0200 - build 1650

1. Mantins#0001469: Processing of right arrow keystroke is broken in Editor Word Completion.

drkns 20.08.2010 15:08:21 +0200 - build 1649

1. Virtual drives can be detached at drive selection menu by pressing Del.

drkns 19.08.2010 23:07:06 +0200 - 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.

drkns 19.08.2010 20:21:57 +0200 - build 1647

1. Correction in 1646.

drkns 19.08.2010 19:36:20 +0200 - 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 triffles.

svs 19.08.2010 14:56:31 +0300 - 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.

svs 18.08.2010 22:31:22 +0300 - 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.

drkns 17.08.2010 20:15:03 +0200 - build 1643

1. "Move to the recycle bin" dialog: confirmation button is labeled "move" (was: "delete").

drkns 16.08.2010 18:27:26 +0200 - 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.

drkns 09.08.2010 13:47:00 +0200 - 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.

drkns 09.08.2010 12:27:32 +0200 - build 1640

1. Some code was left after debugging :)

drkns 07.08.2010 00:20:54 +0200 - build 1639

1. Mantis#0001455: Very long delay when cancelling copy to a network volume.

drkns 05.08.2010 23:30:53 +0200 - build 1638

1. Correction of 1633.2.

svs 05.08.2010 15:50:06 +0300 - build 1637

1. Mantis#0001451: Oddities with MCMD_CHECKMACRO
   Hang at start for an "empty" macro:
     "Sequence"="\"\""

drkns 05.08.2010 14:15:16 +0200 - 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.

svs 04.08.2010 11:45:04 +0300 - build 1635

1. Mantis#0001451: Oddities with MCMD_CHECKMACRO
   Additions to UserDefinedList.

yjh 31.07.2010 07:09:58 +0300 - 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.

drkns 30.07.2010 23:47:23 +0200 - 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".

t-rex 30.07.2010 21:27:16 +0200 - build 1632

1. From Max Moysyuk: additional edition for Mantis#1419: Very slow switching to local disk (AltF1/AltF2).

2. GCC warnings.

drkns 29.07.2010 21:09:20 +0200 - 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.

drkns 28.07.2010 10:00:00 +0200 - 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.

drkns 27.07.2010 17:44:36 +0200 - build 1629

1. Mantis#0001447: Freeze when positioning to a file after search

svs 27.07.2010 14:18:55 +0300 - build 1628

1. Mantis#0001446: Date() returns 0

drkns 26.07.2010 21:21:04 +0200 - build 1627

1. Symbolic links creation from restricted account was broken in 64-bit OS.

drkns 26.07.2010 13:33:33 +0200 - 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.

drkns 21.07.2010 16:41:47 +0200 - build 1625

1. Mantis#0001438: Far 2.0.1624: Changes in editor behavior in comparison with 1623 (and before).

drkns 20.07.2010 22:08:47 +0200 - 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.

drkns 20.07.2010 01:21:33 +0200 - 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.

t-rex 16.07.2010 20:13:36 +0200 - build 1622.

1. "Show total copy progress indicator" on by default.

svs 16.07.2010 10:03:22 +0300 - 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

drkns 15.07.2010 13:47:00 +0200 - 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. Specification of 1616.1.

drkns 15.07.2010 10:00:00 +0200 - build 1619

1. x64.

drkns 15.07.2010 10:00:00 +0200 - build 1618

1. ScreenBuf::MoveCursor() is optimized slightly.

drkns 14.07.2010 18:04:04 +0200 - build 1617

1. Specification of console block read/write algorithm.

drkns 12.07.2010 19:38:29 +0200 - build 1616

1. Drive selection error dialog functionality is extended, it is possible now
   to select another drive without leaving the dialog.

t-rex 12.07.2010 10:45:46 +0200 - build 1615

1. Mantis#1432: gcc build problems.

svs 12.07.2010 10:44:28 +0300 - build 1614

1. Mantis#0001412: F1 when viewing *.hlf

drkns 09.07.2010 13:04:33 +0200 - build 1613

1. "faradminmode" variable was inherited from parent process.

t-rex 08.07.2010 20:10:14 +0200 - build 1612

1. Fix of 1607 (http://forum.farmanager.com/viewtopic.php?p=65440#p65440).

t-rex 08.07.2010 19:29:44 +0200 - 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.

drkns 06.07.2010 16:47:23 +0200 - build 1610

1. More of 1609: CF_HDROP buffer content can be pasted in editor/text fields as a text.

drkns 06.07.2010 13:55:22 +0200 - 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.

t-rex 08.07.2010 00:34:21 +0200 - build 1608

1. From Max Moysyuk: Mantis#1419: Very slow switching to local disk (AltF1/AltF2)

t-rex 08.07.2010 00:12:29 +0200 - build 1607

1. Mantis#1428: Crash when FCTL_SETNUMERICSORT is set.

drkns 06.07.2010 22:36:48 +0200 - build 1606

1. CD drive was opened with read/write access at drive type detection, for some reason.

svs 06.07.2010 18:00:12 +0300 - build 1605

1. Mantis#0000986: Far 2 API - pascal
   FarColorW.pas, FarKeysW.pas and PluginW.pas are updated.

2. Mantis#0000968: waitkey() skips AltIns

drkns 05.07.2010 11:00:00 +0200 - 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.

drkns 02.07.2010 16:17:18 +0200 - build 1603

1. Mantis#0001425: a bug at files highlighting settings reset

t-rex 02.07.2010 15:20:09 +0200 - build 1602

1. "far /v -" was broken again.

svs 02.07.2010 11:22:10 +0300 - 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

drkns 01.07.2010 22:20:00 +0200 - build 1600

1. Mantis#0001420: Far Manager does not disable windows hibernate during copy(move).

t-rex 30.06.2010 21:21:26 +0200 - 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.

svs 29.06.2010 15:01:56 +0300 - 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 specification is needed)

t-rex 27.06.2010 13:43:59 +0200 - build 1597

1. Viewer search didn't work on large files in common.

2. GCC warning.

t-rex 26.06.2010 21:03:19 +0200 - build 1596

1. Grey+/- in viewer lead to unexpected result.

drkns 26.06.2010 16:28:50 +0200 - build 1595

1. Launch from external view/edit commands history didn't work.
  It had been malfunctional for about 5 years already.

chupakabra 24.06.2010 14:34:00 +0200 - 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).

drkns 16.06.2010 13:47:00 +0200 - build 1593

1. After 1583, viewer was slow on network files.

2. Taskbar button flashes 5 times, not endlessly.

drkns 16.06.2010 11:21:12 +0200 - build 1592

1. Faster File::Eof() implementation.

2. A few bool's.

drkns 16.06.2010 18:56:32 +0200 - build 1591

1. Mantis#0001409: Crash at folder deletion.

2. A bug in help.

t-rex 15.06.2010 00:05:09 +0200 - build 1590

1. Custom data sorting is added to CtrlF12 menu .

t-rex 14.06.2010 00:56:58 +0200 - build 1589

1. Mantis#1405: C:\>cls stays on screen after issuing “cls”.

t-rex 12.06.2010 19:14:06 +0200 - 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.

drkns 12.06.2010 08:58:26 +0200 - build 1587

1. And once more.

drkns 12.06.2010 08:43:29 +0200 - build 1586

1. Fix of 1584.2.

t-rex 11.06.2010 18:16:03 +0200 - build 1585

1. Same as 1584.1 but for plugin panel refresh.

drkns 11.06.2010 13:47:00 +0200 - build 1584

1. There was no filter activity check at panel refresh. With the check, now it's much faster.

2. Some makeup.

drkns 09.06.2010 11:17:22 +0200 - build 1583

1. Getting the viewer rid of FILE*.
  Privileges elevation must be functional now.
  View of \\.\physicaldrive0, \\.\cdrom0 etc. is temporarily broken.

t-rex 08.06.2010 22:44:13 +0200 - build 1582

1. Same fix as in 1579.2 but for VBlock2Text().

drkns 07.06.2010 21:07:35 +0200 - build 1581

1. FARUSER variable could be set even without /u key (it was inherited from parent process).

yjh 07.06.2010 15:41:36 +0300 - build 1580

1. QuotedSymbols list is appended with oem(0xFF) ("soft-space") - this is required by standard console tools (copy/move/etc)

drkns 06.06.2010 22:01:56 +0200 - build 1579

1. Specification of ACTL_GETFARRECT function.

2. CtrlX at empty line added garbage to clipboard.

drkns 01.06.2010 14:12:22 +0200 - build 1578

1. “!=\” metacharacter quoted strings for some purpose.

drkns 31.05.2010 22:40:13 +0200 - 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).

drkns 29.05.2010 13:08:42 +0200 - build 1576

1. Panels were not redrawn after ShiftEnter on a folder.

2. Specifications of 256- and 16-color variants of far.ico.

drkns 29.05.2010 12:14:02 +0200 - build 1575

1. Another couple of minorities of the same subject.

drkns 28.05.2010 23:47:51 +0200 - build 1574

1. More on launcher and redraw.

2. Specification 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.

drkns 25.05.2010 19:57:53 +0200 - 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".

drkns 25.05.2010 07:37:52 +0200 - build 1572

1. Continuation of 1568.

drkns 24.05.2010 22:45:41 +0200 - build 1571

1. Mantis#0001393: Screen artifacts on application launch using a macro

drkns 24.05.2010 22:34:42 +0200 - build 1570

1. Continuation of 1568.

t-rex 24.05.2010 09:19:39 +0200 - build 1569

1. from Konstantin Stupnik: Mantis#1388: Regular expressions: incorrect value in group.

drkns 23.05.2010 23:23:23 +0200 - build 1568

1. After 1564-1566, hidden problems with drawing in launcher were revealed.

drkns 23.05.2010 14:08:39 +0200 - build 1567

1. Mantis#0001389: Crash if WindowMode=0 and ScreenBufferSize.Height=9999
  In theory, far must work now at any buffer size.

drkns 22.05.2010 22:45:48 +0200 - build 1566

1. And some more.

drkns 22.05.2010 22:16:38 +0200 - build 1565

1. Specifications of previous build.

drkns 22.05.2010 20:00:00 +0200 - 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.

t-rex 21.05.2010 18:25:32 +0200 - build 1563

1. Mantis#1387: Freeze when processing User Menu at filename containing &.

2. HiStrLen() incorrect work.

t-rex 20.05.2010 20:32:18 +0200

1. Mantis#1386: gcc compilation error (incorrect case in header file name).

t-rex 19.05.2010 23:06:06 +0200 - build 1562

1. PluginDialogBuilder for AddEditField() now requires output buffer size (in characters).

drkns 19.05.2010 20:09:11 +0200 - build 1561

1. Mantis#0001384: Dim space character a little in Show Whitespace mode.

t-rex 19.05.2010 18:53:42 +0200 - build 1560

1. GetSize() in UnicodeString for obtaining of inner buffer size.

2. Optimization of ReplaceStrings().

3. Deleted some junk.

t-rex 19.05.2010 15:57:31 +0200 - build 1559

1. Forum: http://forum.farmanager.com/viewtopic.php?p=63127#p63127
  Crash in history, heap corruption in ReplaceStrings().

drkns 19.05.2010 12:50:22 +0200 - build 1558

1. Specification of environment refreshing.

drkns 17.05.2010 20:06:14 +0200 - build 1557

1. Specification of WM_SETTINGCHANGE processing.

drkns 15.05.2010 22:26:55 +0200 - build 1556

1. Excessive activity in taskbar when copying with [x] Show total copy progress indicator.

t-rex 15.05.2010 16:10:31 +0200 - build 1555

1. from Alexander Kornienko: Mantis#1383: Additions to Mantis#1224 (VBlock2Text)

t-rex 14.05.2010 16:56:29 +0200 - 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().

svs 14.05.2010 16:13:05 +0300 - 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.

zg 14.05.2010 02:18:32 +0200 - 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.

drkns 14.05.2010 01:55:38 +0200 - build 1551

1. Mantis#0001380: problem with value setting in hours/minutes field in Filters -> Date/Time -> Relative

drkns 14.05.2010 00:07:38 +0200 - build 1550

1. Excessive activity in taskbar when descriptions displaying is on.

drkns 13.05.2010 17:33:18 +0200 - build 1549

1. Specification of previous build.

drkns 13.05.2010 15:47:47 +0200 - 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.

svs 13.05.2010 16:03:14 +0300 - build 1547

1. + CPM_NATIVE for FSF.ConvertPath()
  Return: full path with "\\?\" prefix
  (from drkns)

drkns 13.05.2010 00:21:42 +0200 - build 1546

1. Event class: a wrapper on HANDLE/Event/WaitForSingleObject.

drkns 11.05.2010 22:53:26 +0200 - build 1545

1. From Anton Sinitsin: "Ё" in FarRus.lng.

2. Documentation and build specifications.

drkns 11.05.2010 15:25:32 +0200 - build 1544

1. Errors in vertical text drawing and dialog size calculation.

svs 11.05.2010 15:05:18 +0300 - build 1543

1. Minor specifications on menu hotkeys...
  In addition to Upper/Lower, keyboard layout analysis is added (KeyToKeyLayout() call)

svs 11.05.2010 09:59:58 +0300 - 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.

svs 07.05.2010 16:24:45 +0300 - build 1541

1. Help. From "Alexey Samlyukov"

2. "@ElevationDlg" is added. this is a stub so far, to prevent error messages

drkns 06.05.2010 22:21:32 +0200 - 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".

drkns 05.05.2010 23:16:12 +0200 - build 1539

1. Specification of 1536: for example, when issuing "macro:post F7", indicator disappeared only after any key press.

drkns 04.05.2010 23:42:49 +0200 - 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.

t-rex 04.05.2010 13:53:24 +0200 - 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.

drkns 03.05.2010 12:45:16 +0200 - build 1536

1. Problems with Mantis#1362: that "macro execution indication" caused regular screen refreshes.
  Also, 'P' is now green :)

t-rex 02.05.2010 21:46:41 +0200 - build 15351. Mantis#1288: Slow processing of network folders in owners view mode.

drkns 02.05.2010 19:13:38 +0200 - 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

drkns 30.04.2010 17:14:30 +0200 - build 1533

1. Another couple of specifications in 1530.2.

svs 30.04.2010 13:20:57 +0300 - build 1532

1. Mantis#0001362: Macro running indication in screen corner ('P').

drkns 30.04.2010 11:09:22 +0200 - build 1531

2. Specification of 1530.2: DIF_DEFAULT and DIF_FOCUS are used in initialization (DialogDataEx), and elements (DialogItemEx) still use DefaultButton and Focus.

drkns 30.04.2010 01:01:01 +0200 - 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.

drkns 29.04.2010 11:38:38 +0200 - build 1529

1. Bringing back empty description files deletion.

2. Flag FMSG_DOWN has gone.

3. Makeup in lng.

svs 29.04.2010 09:55:53 +0300 - 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

drkns 28.04.2010 00:42:17 +0200 - build 1527

1. For the sake of uniformity, now Message() always reserves space for message text even the text is absent.

drkns 27.04.2010 19:51:09 +0200 - build 1526

1. Another couple of triffles.

drkns 27.04.2010 16:47:00 +0200 - build 1525

1. More on FindFiles again.

chupakabra 27.04.2010 16:32:00 +0200

1. makefile_vc: Platform=x64 for VS2010.

drkns 27.04.2010 15:47:00 +0200 - build 1524

1. Yet another specification of Message().

2. Changes in DIZ files writing.

3. More on FindFiles.

drkns 26.04.2010 15:47:00 +0200 - build 1523

1. Specification of dialogs size for Message() function.

2. BOM codepage autodetection didn't work if the file contained nothing except BOM.

drkns 26.04.2010 00:14:16 +0200 - build 1522

1. As an expansion of Mantis#0001096 - space symbols cutting is removed from another pair of places.

t-rex 25.04.2010 22:48:55 +0200 - 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.

drkns 25.04.2010 22:38:17 +0200 - build 1520

1. Specification of previous build.

drkns 25.04.2010 19:55:48 +0200 - 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 triffles in privileges elevation system.

drkns 22.04.2010 21:11:09 +0200 - build 1518

1. Specification 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.

drkns 21.04.2010 14:47:00 +0200 - 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.

svs 21.04.2010 10:18:10 +0300 - build 1516

1. Specification of build 1515 - one char prefixes are ignored

svs 21.04.2010 09:34:16 +0300 - build 1515

1. Mantis#0001338: Prefix in command line parameters (described in help)
from Maximus

t-rex 20.04.2010 23:56:06 +0200 - build 1514

1. MinGW GCC 4.5.0 support.

2. GCC warnings.

3. Some makeup.

drkns 20.04.2010 00:33:57 +0200 - build 1513

1. Specification of previous build.

drkns 19.04.2010 16:39:34 +0200 - build 1512

1. Fix of 1371.2.

2. Milliseconds are available in filters.

svs 19.04.2010 15:51:19 +0300 - 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)).

drkns 19.04.2010 10:50:21 +0200 - 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).

drkns 17.04.2010 11:44:42 +0200 - build 1509

1. Mantis#0001348: Folder locking by a FAR process after privileges elevation.

drkns 17.04.2010 00:57:46 +0200 - 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.

svs 15.04.2010 14:34:28 +0300 - build 1507

1. Mantis#0001346: Macros assigned to "`" and similar ones work with errors

drkns 15.04.2010 11:34:38 +0200 - build 1506

1. In 1494, system copy feature with "[ ] Copy files opened for writing" was broken.

drkns 15.04.2010 11:05:12 +0200 - build 1505

1. Specification of previous build.

drkns 15.04.2010 10:55:21 +0200 - build 1504

1. If user has administrator rights already, we proceed without additional process launch.

svs 13.04.2010 23:15:33 +0300 - build 1503

1. Macro: bug - crash on [A|P]Panel.HostFile call for non-plugin panel.

svs 13.04.2010 14:48:25 +0300 - 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)

t-rex 13.04.2010 00:04:24 +0200 - build 1501

1. StrLength(string) -> string.GetLength() in a couple of places.

drkns 12.04.2010 22:54:07 +0200 - build 1500

1. More informative messages on necessary privilege elevation.

svs 12.04.2010 17:53:57 +0300 - build 1499

1. The help froze on files with no empty line between sections   (for example, "Regular Expression Search and Replace, version 7.04")

drkns 12.04.2010 16:46:32 +0200 - 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.

svs 12.04.2010 12:38:45 +0300 - build 1497

1. Bug: [A|P]Panel.path0 doesn't return a path
http://forum.farmanager.com/viewtopic.php?p=61218#p61218

svs 12.04.2010 11:38:27 +0300 - build 1496

1. Mantis#0000830: Incorrect movement calculation in Viewer::Up() function for UTF-8

chupakabra 11.04.2010 23:20:00 +0200 - build 1495

1. A focus moving error is fixed, which appeared in 1444.

drkns 11.04.2010 02:23:13 +0200 - 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.

svs 09.04.2010 16:32:01 +0300 - 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

svs 09.04.2010 09:38:19 +0300 - build 1492

1. Printing module is broken - current folder was not taken into account.

drkns 08.04.2010 15:30:25 +0200 - build 1491

1. Mantis#0001337: Error when reading catalog content.

2. Incorrect owner was displayed for ".." element in panels.

svs 08.04.2010 11:01:14 +0300 - 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.

drkns 08.04.2010 00:39:10 +0200 - build 1489

1. Mantis#0001336: Error message when opening a catalog.

drkns 07.04.2010 14:04:32 +0200 - build 1488

1. Specification of 1483.

svs 07.04.2010 13:10:41 +0300 - build 1487

1. Mantis#0001335: Incorrect text resource usage

2. Mantis#0001331: Macro function for status line manipulation

drkns 07.04.2010 11:46:46 +0200 - build 1486

1. Prohibition of path conversion in some apiGetFindDataEx calls seems to be deprecated, so it is removed.

drkns 06.04.2010 20:02:46 +0200 - build 1485

1. Specification of 1483.

svs 06.04.2010 13:41:39 +0300 - 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

drkns 06.04.2010 10:35:35 +0200 - build 1483

1. Continuing 1468:
  The following actions can be done with admin privileges:
  - catalog view;
  - getting the attributes;
  - setting the owner.

svs 05.04.2010 18:18:38 +0300 - build 1482

1. Specification 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

garry 03.04.2010 22:44:32 +0300 - build 1481

1. After 1456, the output of codepages for ANSI plugins was broken (for example, FTP).

drkns 03.04.2010 19:30:12 +0200 - build 1480

1. 1479.2: As it proved to be, gcc doesn't support forward enum declaration.

drkns 03.04.2010 11:23:56 +0200 - build 1479

1. And once again, Mantis#0001321: DM_MOVEDIALOG: limited range of dialog moving.

2. Makeup in adminmode.?pp

svs 03.04.2010 11:45:44 +0300 - build 1478

1. Mantis#0000098: wrong messages when trying to create folder/file with prohibited symbols

zg 03.04.2010 02:26:08 +0200 - build 1477

1. Mantis#0001329: Forward search with template = $.

zg 02.04.2010 11:42:58 +0200 - build 1476

1. in connection with 1219, Ctrl-Shift-Numpad5 in panels is replaced with Ctrl-Alt-Numpad5.

svs 02.04.2010 10:29:40 +0300 - build 1475

1. Mantis#0001323: gethotkey(0) returns next symbol ("4" instead of "3", "y" instead of "x")

drkns 01.04.2010 20:00:00 +0200 - 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.

drkns 01.04.2010 13:47:00 +0200 - build 1473

1. Specification of 1472.2: distinguish symlink and junction;

2. The creation of hard links can be done with admin privileges.

svs 01.04.2010 12:56:20 +0300 - build 1472

1. Mantis#0001265: Buffer size and panel caption bug
  Specification 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

zg 01.04.2010 03:12:18 +0200 - build 1471

1. Mantis#0001322: Search and replace in editor skips empty lines.

drkns 31.03.2010 21:52:05 +0200 - build 1470

1. Specification of 1468 - GetLastError() results could be lost.

drkns 31.03.2010 16:29:11 +0200 - build 1469

1. Mantis#0001315: Links are shown as folders in tmp-panel.

2. Mantis#0001321: DM_MOVEDIALOG: dialog limited moving range.

drkns 31.03.2010 15:24:32 +0200 - build 1468

1. 1466 is continued:
  - deleting to recycle bin can be done with admin privileges;
  - progress bar, Cancel, etc. work while copying.

t-rex 31.03.2010 01:05:50 +0200 - 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.

drkns 30.03.2010 15:44:02 +0200 - build 1466

1. 1465 is continued:
  The following operations can be done with admin privileges:
  - files moving;
  - files copying;
  - reparse points copying/editing.

drkns 30.03.2010 00:44:57 +0200 - 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.

zg 29.03.2010 04:01:39 +0200 - build 1464

1. Mantis#0001302: When launched with command line parameter, FAR freezes on "black screen" until Enter is pressed.

zg 29.03.2010 03:37:49 +0200 - build 1463

1. Mantis#0001310: Run the editor with absolute column given, not screen one (both from plugins and command line).

zg 29.03.2010 01:55:26 +0200 - 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.

t-rex 28.03.2010 21:42:53 +0200 - build 1461

1. Mantis#1314: Filters - Date/Time - Relative

chupakabra 27.03.2010 08:20:00 +0200 - build 1460

1. Sorting did not run after FCTL_SETNUMERICSORT and FCTL_SETDIRECTORIESFIRST.

svs 27.03.2010 08:17:48 +0300 - build 1459

1. Mantis#0001312: When cancelling the editing of the item, there's no need to refresh farmenu.ini
from Maximus

garry 26.03.2010 16:51:16 +0300 - build 1458

1. Addition to 1456.

drkns 26.03.2010 14:58:23 +0200 - build 1457

1. PgDn in search dialog could lead to stack overflow.

garry 26.03.2010 15:28:59 +0300 - 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.

svs 26.03.2010 11:57:54 +0300 - 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 :-)



svs 25.03.2010 18:38:53 +0300 - 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 :-)



chupakabra 23.03.2010 00:51:00 +0200 - build 1453

1. Numeric sorting function is rewritten.

drkns 22.03.2010 20:18:31 +0200 - build 1452

1. “links” from “mount points” distinction AI is removed in panel columns.
Alas, the performance degrades too much.

2. x64 warnings.

chupakabra 22.03.2010 04:03:00 +0200 - build 1451

1. Fix for 1444.

chupakabra 22.03.2010 02:02:00 +0200 - build 1450

1. Mantis#0001301: listbox was not redrawn after DM_LISTUPDATE.

t-rex 22.03.2010 00:27:43 +0200

1. Correction of 1448.3.

chupakabra 21.03.2010 20:59:00 +0200 - build 1449

1. full file name sorting mode error is fixed.

chupakabra 21.03.2010 20:43:00 +0200 - 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.

chupakabra 21.03.2010 01:11:00 +0200 - 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.

drkns 20.03.2010 09:26:41 +0200 - build 1446

1. In 1443, QView was malfunctional.

chupakabra 20.03.2010 05:46:00 +0200 - build 1445

1. Mantis#0001081: full file name (path) sorting mode.

chupakabra 20.03.2010 04:38:00 +0200 - build 1444

1. Mantis#0001290: Incorrect processing of keys with DIF_NOFOCUS + DIF_BTNNOCLOSE style.

drkns 20.03.2010 00:42:00 +0200 - 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.

t-rex 19.03.2010 12:27:10 +0200 - build 1442

1. Mantis#1308: Build fails in gcc due to incorrect #include (wrong character case).

svs 19.03.2010 11:56:32 +0300 - build 1441

1. VK_OEM_102. Specification... 1440

svs 19.03.2010 11:38:51 +0300 - build 1440

1. Processing of VK_OEM_102 is added under name "<>" or "\|" on RT 102-key kbd.
  Now it is '\'.
  The specification for AltGr- (Ctrl-Alt-), is needed ...maybe something else.
  T.S. Welcome!

chupakabra 19.03.2010 04:41:00 +0200 - build 1439

1. Current directory synchronization is broken for plugins with OPIF_REALNAMES (from build 1157).

svs 18.03.2010 19:54:06 +0300 - 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!

svs 17.03.2010 16:42:40 +0300 - build 1437

1. Macro: the specification 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)

svs 16.03.2010 17:48:46 +0300 - 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.

drkns 10.03.2010 19:29:31 +0200 - 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.

drkns 10.03.2010 14:20:17 +0300 - build 1434

1. Continuation of 1425 - the owner is available for editing

2. Mantis#1299: SavedDialogHistory: SearchText, ReplaceText

yjh 09.03.2010 15:52:16 +0300 - build 1433

1. The default mask for archives including .tbz and .txz (new linux distros)

svs 03.03.2010 17:33:17 +0300 - 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".

drkns 02.03.2010 18:32:43 +0200 - build 1431

1. An excessive callback in text pasting into input line.

drkns 01.03.2010 21:10:08 +0200 - build 1430

1. Potential UB in attributes dialog.

svs 01.03.2010 19:00:24 +0300 - 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.

drkns 28.02.2010 11:29:36 +0200 - build 1428

1. The histories of command line input, view, folder, dialogs and saved positions are expanded to 512 elements by default.

yjh 28.02.2010 04:42:01 +0300 - build 1427

1. To 1424 - if you do largeaddressaware, do it for all linkers :)

drkns 28.02.2010 01:43:09 +0200 - build 1426

1. Fix in 2nd statement in previous build, to get it work also in ancient OSes.

drkns 27.02.2010 23:30:38 +0200 - 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".

drkns 27.02.2010 19:16:33 +0200 - build 1424

1. Build with /largeaddressaware.

chupakabra 27.02.2010 07:51:00 +0200 - build 1423

1. Mantis#0000840: Low-fragmentation Heap is switched on.
  http://msdn.microsoft.com/en-us/library/aa366750%28VS.85%29.aspx

drkns 27.02.2010 00:07:33 +0200 - build 1422

1. "Lock editing of read-only files" option didn't work.

t-rex 26.02.2010 20:36:01 +0200 - build 1421

1. No need to call apiGetVolumeNameForVolumeMountPoint() for reparse points which are not folders (possibly Mantis#1288).

2. Warning in GCC.

drkns 24.02.2010 15:48:25 +0200 - 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.

svs 22.02.2010 17:10:45 +0300 - build 1419

1. Macro: specification of replace(). It enters an endless loop if Find is an empty string.

drkns 22.02.2010 15:49:34 +0200 - build 1418

1. The continuation of 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.

t-rex 22.02.2010 13:53:43 +0200 - 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.

drkns 21.02.2010 21:57:47 +0200 - build 1416

1. A lancet was forgotten inside patient's abdomen in 1413 :)

zg 21.02.2010 13:10:12 +0200 - build 1415

1. gcc didn't compile.

svs 20.02.2010 22:44:13 +0300 - build 1414

1. Macro: bug: panel.setposidx(0,0,1) returns 0 if the selected file is last on panel

drkns 20.02.2010 20:24:44 +0200 - 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.

svs 19.02.2010 17:18:28 +0300 - 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.

drkns 19.02.2010 13:47:00 +0200 - build 1411

1. In 1410, copying to plugin panels was broken.

drkns 18.02.2010 23:03:00 +0200 - 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.

t-rex 18.02.2010 21:28:44 +0200 - build 1409

1. Makeup in previous build.

svs 18.02.2010 20:02:35 +0300 - 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 :-))

svs 18.02.2010 14:33:53 +0300 - 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: specification of 1401

5. Added: virtual public Panel::FileInFilter(long idxItem) and Panel::IsSelected(long idxItem)

drkns 17.02.2010 22:22:31 +0200 - build 1406

1. Continuation of #0001273. After1395, various ancient bugs started to disclose themselves.

garry 17.02.2010 18:00:27 +0300 - build 1405

1. x64 compilation error in 1400.

svs 17.02.2010 17:49:19 +0300 - 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.

drkns 16.02.2010 19:32:46 +0200 - build 1403

1. Specification of FCTL_CLEARSELECTION functioning.

drkns 16.02.2010 13:47:00 +0300 - 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.

svs 16.02.2010 11:05:58 +0300 - 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())

garry 15.02.2010 17:37:17 +0300 - 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.

t-rex 14.02.2010 00:48:27 +0200 - 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.

zg 14.02.2010 00:12:02 +0200 - build 1398

1. gcc didn't compile.

svs 12.02.2010 18:15:56 +0300 - build 1397

1. Mantis#0001270: MCMD_LOADALL doesn't return an error when it takes place

drkns 11.02.2010 14:06:15 +0200 - build 1396

1. Specification of BOM append logic when saving.

drkns 11.02.2010 13:47:00 +0200 - 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.

svs 12.02.2010 14:15:21 +0300 - 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)

drkns 11.02.2010 23:52:09 +0200 - 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.

svs 11.02.2010 22:26:57 +0300 - 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)

svs 11.02.2010 21:57:33 +0300 - 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.

drkns 11.02.2010 13:47:00 +0200 - 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.

drkns 11.02.2010 01:15:24 +0200 - build 1389

1. In 1381, right mouse clicks on functional keys line didn't work.

zg 10.02.2010 22:13:45 +0200 - build 1388

1. Regexp: error in upper limit calculation in ranges given as \xyyyy.

drkns 10.02.2010 15:04:39 +0200 - build 1387

1. Alt- processing in completion list.

svs 10.02.2010 12:55:31 +0300 - 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.*

drkns 10.02.2010 00:57:46 +0200 - build 1385

 1. Incorrect focus positioning in codepages menu.




zg 09.02.2010 17:59:01 +0200 - 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.

svs 09.02.2010 18:02:24 +0300 - 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.

drkns 09.02.2010 15:04:21 +0200 - build 1382

1. Specifications of dialog elements coloring.

2. Makeup in macro keys assignment dialog source code.

svs 09.02.2010 12:50:38 +0300 - 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.

drkns 09.02.2010 10:51:57 +0200 - build 1380

1. Specification of mouse processing in dialogs.

drkns 09.02.2010 09:39:19 +0200 - build 1379

1. Fix of 1378.2.

drkns 08.02.2010 19:07:17 +0200 - build 1378

1. Continuation of 1367.

2. Another pair of trivia.

svs 08.02.2010 17:26:40 +0300 - build 1377

1. Macro: PANEL.ITEM alias is added for PANELITEM function (for uniformity in naming)

2. Macro: parser specification.

3. ULF_NOTTRIM flag is added to UserDefinedList - to preserve space symbols.

drkns 08.02.2010 16:03:25 +0200 - build 1376

1. Specification of the trick introduced in 1205: window size is restored only if it had been decreased after getting the focus.

drkns 08.02.2010 11:18:56 +0200 - 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.

drkns 06.02.2010 15:10:19 +0200 - build 1374

1. Completion is switched off while FCTL_CMDLINE is processed.

drkns 05.02.2010 20:42:59 +0200 - build 1373

1. Specification of plugin panel closing logic.

2. Mantis#0001259: file panel is not redrawn after folder change.

drkns 04.02.2010 20:48:39 +0200 - build 1372

1. User menu items deletion broken in 1369.

drkns 03.02.2010 21:23:01 +0200 - 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.

drkns 03.02.2010 15:08:26 +0200 - 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.

drkns 02.02.2010 20:36:50 +0200 - build 1369

1. Fix for 1366.

2. Getting rid of *printf.

chupakabra 02.02.2010 16:20:00 +0200 - build 1368

1. Incorrect date display for folders on plugin panel.

drkns 01.02.2010 23:28:33 +0200 - build 1367

1. Fix in 1366.

drkns 01.02.2010 21:44:16 +0200 - 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.

drkns 31.01.2010 20:56:38 +0200 - build 1365

1. Panels were not redrawn after filters switch on.

svs 31.01.2010 17:57:22 +0300 - build

1. Mantis#0000986: Far 2 API - pascal

drkns 31.01.2010 16:37:49 +0200 - build 1364

1. Plugin panels did not show elements packed size.

drkns 30.01.2010 20:09:48 +0200 - build 1363

1. Mantis#0001257: File sharing violation when attempting to open Editor from Viewer.

drkns 29.01.2010 22:29:05 +0200 - build 1362

1. After 597, panel elements sorting in plugins was broken.

drkns 29.01.2010 21:01:29 +0200 - build 1361

1. Once more about macros and completion.

drkns 28.01.2010 18:47:28 +0200 - build 1360

1. Panel plugins menu could be invoked with F11.

2. To all macro addicts: autocompletion list now has its own range - "AutoCompletion".

svs 28.01.2010 16:45:53 +0300 - build 1359

1. Macro: Incorrect AKey()/$AKey work.

drkns 28.01.2010 11:27:44 +0200 - build 1358

1. Mantis#0001256: When text is entered in command line, PanelTabs plugin tabs are erased.

t-rex 27.01.2010 21:59:14 +0200 - build 1357

1. Mantis#1255: “far /v -” does not respond.

chupakabra 26.01.2010 19:57:00 +0200 - build 1356

1. From Maximus: Mantis#0001117: Incorrect file selection with mouse button while scrolling.

chupakabra 26.01.2010 19:34:00 +0200 - build 1355

1. FSF.GetDirList now returns full pathnames.

chupakabra 24.01.2010 18:15:00 +0200 - build 1354

1. Mantis#0001251: Incorrect optical drive type display.

yole 23.01.2010 14:15:00 +0300 - 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.

svs 22.01.2010 17:15:01 +0300 - build 1352

1. Mantis#0001201: In Far 2, go to URL does not work

2. Specification in URL help (section "@PluginsReviews")

svs 22.01.2010 14:46:29 +0300 - build 1351

1. Mantis#0001240: Outer editor is not started if its path contains spaces and prepended with “@” symbol.

drkns 22.01.2010 00:40:31 +0200 - build 1350

1. A couple of autocompletion details.

chupakabra 20.01.2010 21:19:00 +0200 - 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.

chupakabra 20.01.2010 08:05:00 +0200 - build 1348

1. ACTL_QUIT - terminates Far.

chupakabra 20.01.2010 07:38:00 +0200 - build 1347

1. On win2k, QueryDosDevice() gives an error when buffer size if large. apiQueryDosDevice() is added.

2. UnicodeString::SubStr().

zg 19.01.2010 22:58:11 +0200 - build 1346

1. "&" symbol is not displayed in completion.

svs 18.01.2010 10:26:51 +0300 - build

1. Mantis#0001246: Build fails in gcc on Linux. Incorrect include in edit.cpp

svs 17.01.2010 21:26:17 +0300 - 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.

yole 17.01.2010 00:20:00 +0300 - build 1344

1. Learning to recognize BD-ROM drives in Alt-F1/Alt-F2.

yole 16.01.2010 18:50:00 +0300 - build 1343

1. DialogBuilder supports two-column layout of controls.

2. Moving viewer and editor configuration to DialogBuilder.

yole 16.01.2010 14:45:00 +0300 - 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.

drkns 16.01.2010 12:39:15 +0200 - build 1341

1. Forum: "Bug in editor replace".
It appears to be lasting since #498.

drkns 16.01.2010 00:42:36 +0200 - build 1340

1. #1338 is continued.

drkns 15.01.2010 07:57:05 +0200 - build 1339

1. Querying the needed privileges incorrectly at symlinks creation.

drkns 14.01.2010 20:45:19 +0200 - build 1338

1. regressions of #1337 are fixed.

drkns 13.01.2010 20:42:34 +0200 - 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.

drkns 13.01.2010 19:22:50 +0200 - build 1336

1. And TreeCmp again, more correct variant.

t-rex 12.01.2010 23:07:52 +0200 - 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.

svs 12.01.2010 11:53:24 +0300 - build 1334

1. Tree. Sorting function TreeCmp rollback to the previous revision (3917) (was in build #1295)

2. Specifications in SysLog`s

drkns 11.01.2010 20:07:38 +0200 - 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. Help specifications.

chupakabra 11.01.2010 02:28:00 +0200 - build 1332

1. “const” in plugin api.

drkns 11.01.2010 01:19:27 +0200 - build 1331

1. Mantis#0000848: Find Folder: incorrect “*” symbol handling.

t-rex 10.01.2010 23:55:43 +0200 - build 1330

1. Getting rid of NM in plugin.hpp.

2. GCC warning.

drkns 10.01.2010 23:39:29 +0200 - build 1329

1. Forum: Find Folder: incorrect tree displaying in Far 2.

2. x64 warnings.

3. gcc build.

4. Changes in completion.

yole 10.01.2010 18:50:00 +0300 - build 1328

1. The beginning of DialogBuilder big refactoring, which allows one API for dialogs contruction both in FAR and plugins.

drkns 09.01.2010 14:17:27 +0200 - build 1327

1. Rolling FarDialogItem.MaxLen back )

drkns 09.01.2010 13:51:28 +0200 - build 1326

1. DWORD Reserved2 -> DWORD_PTR Reserved2.

drkns 09.01.2010 12:59:15 +0200 - build 1325

1. FarDialogItem.MaxLen is replaced with DWORD Reserved2. Must be 0.

drkns 08.01.2010 22:51:39 +0200 - 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.

drkns 08.01.2010 18:00:43 +0200 - build 1323

1. Mantis#0001238: Incorrect replacement highlighting in editor.

t-rex 08.01.2010 13:54:21 +0200 - build 1322

1. vc compilation for 1321.

zg 08.01.2010 13:46:03 +0200 - build 1321

1. Lost files in 1320.

zg 08.01.2010 13:30:56 +0200 - build 1320

1. File rewrite dialog has GUID {9FBCB7E1-ACA2-475d-B40D-0F7365B632FF}.

drkns 08.01.2010 01:30:08 +0200 - build 1319

1. Some more autocompletion + the beginning of configuration.

2. All autoconfigured-in-build files are placed now in separate directory.

zg 07.01.2010 18:21:09 +0200 - build 1318

1. LIF_USETEXTPTR and MIF_USETEXTPTR are removed.

zg 07.01.2010 17:44:21 +0200 - build 1317

1. `const' in plugin api.

2. GetComputerNameEx in gcc.

svs 07.01.2010 17:12:00 +0300 - build 1316

1. Some changes in InfoList. Using absolute Y coordinates instead of relative ones.

2. Specification 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 :-)

yole 07.01.2010 12:00:00 +0300 - 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.

drkns 07.01.2010 01:19:43 +0200 - build 1314

1. And another couple of trivia.

drkns 07.01.2010 00:57:40 +0200 - build 1313

1. Some more autocompletion.

zg 06.01.2010 22:36:35 +0200 - build 1312

1. gcc warnings.

drkns 06.01.2010 18:54:47 +0200 - build 1311

1. Changes in FSF.MkTemp - the function returns needed buffer size.

drkns 05.01.2010 20:52:04 +0200 - build 1310

1. Forum: specification 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.

drkns 05.01.2010 19:50:30 +0200 - build 1309

1. New actl commands: ACTL_SETPROGRESSSTATE, ACTL_SETPROGRESSVALUE, intended to control Far taskbar button.

2. ACTL_GETWCHARMODE is removed for uselessness.

drkns 03.01.2010 21:37:53 +0200 - build 1308

1. Other autocompletion stuff.

drkns 03.01.2010 18:36:49 +0200 - build 1307

1. Changes/specifications on new autocompletion mode.

2. Rollback of 1306 - false alarm )

drkns 03.01.2010 16:42:56 +0200 - build 1306

1. FSF.ConvertPath didn't return needed buffer size.

drkns 02.01.2010 13:38:25 +0200 - build 1305

1. Mantis#0001233: In editor, text being replaced is not highlighted.

svs 29.12.2009 15:10:25 +0300 - 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:\>"

svs 29.12.2009 13:33:22 +0300 - 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.

drkns 29.12.2009 00:44:26 +0200 - build 1302

1. Placing DIF_EDITPATH in dialogs where it is needed.

2. Specifications of new append mode.

yole 29.12.2009 00:11:00 +0300 - 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.

drkns 28.12.2009 19:10:00 +0200 - 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).

yole 26.12.2009 19:30:00 +0300 - 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.

drkns 26.12.2009 16:14:42 +0200 - build 1298

1. Specification of 1295.2.

yole 26.12.2009 16:20:00 +0300 - build 1297

1. Stub for dynamic dialog creation system: DlgBuilder.cpp/hpp

2. autocompletion blind mode on/off option.

yole 25.12.2009 23:32:10 +0300 - build 1296

1. Blind mode for autocompletion (experimental):
http://bugs.farmanager.com/view.php?id=274

drkns 25.12.2009 19:24:01 +0200 - 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.

t-rex 25.12.2009 16:46:03 +0200 - 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.

chupakabra 24.12.2009 23:37:00 +0200 - build 1293

1. On Far startup, macro recording indicator could appear because KeyMacro::Recording wasn't initialized.

drkns 24.12.2009 21:33:21 +0200 - build 1292

1. DList is removed from MacroState, till better times.

drkns 24.12.2009 17:53:01 +0200 - build 1291

1. Mistype in 1290.

drkns 24.12.2009 01:51:44 +0200 - 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.

drkns 23.12.2009 20:13:46 +0200 - build 1289

1. Specifications of build 1287.

2. Specifications in help.

t-rex 22.12.2009 22:21:07 +0200 - build 1288

1. Mantis#1147: Error when launching \

2. Some cleanup.

drkns 22.12.2009 21:23:23 +0200 - build 1287

1. Using DList instead of list reimplementations in yet another few places.

2. Some additions in DList.

drkns 18.12.2009 22:14:58 +0200 - 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".

t-rex 18.12.2009 17:59:11 +0200 - 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.

drkns 17.12.2009 21:00:01 +0200 - build 1284

1. New caption template %Platform (x86/x64/IA64), templates are now case-insensitive.

drkns 13.12.2009 22:22:11 +0200 - build 1283

1. TI#48 had no influence on NumDel.

t-rex 13.12.2009 00:40:22 +0200 - 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.

drkns 12.12.2009 23:57:53 +0200 - build 1281

1. Specification of the previous build.

drkns 12.12.2009 23:44:12 +0200 - 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.

t-rex 07.12.2009 23:20:24 +0200 - 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.

t-rex 07.12.2009 21:03:31 +0200 - build 1278

1. Settle down current path syncronization and a pair of related things.
Also, access to inner strCurrentDirectory() should be wrapped with CriticalSection .

t-rex 07.12.2009 17:59:07 +0200 - 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.

t-rex 06.12.2009 23:01:16 +0200 - build 1276

1. Misc.

t-rex 06.12.2009 20:52:04 +0200 - 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.

drkns 06.12.2009 11:14:26 +0200 - build 1274

1. Incorrect mark symbol in menu.

drkns 05.12.2009 18:46:16 +0200 - build 1273

1. As it suddenly became clear, those admin-in-caption tricks didn't work at all, because 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. t-rex 05.12.2009 17:29:08 +0200 - 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.

t-rex 05.12.2009 16:36:12 +0200 - build 1271

1. Another remake in apiGetFinalPathNameByHandle() to do it nicer and more correct.

t-rex 05.12.2009 14:27:07 +0200 - 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.

t-rex 05.12.2009 11:57:27 +0200 - build 1269

1. VMenu: a small bug in DeleteItem().

t-rex 05.12.2009 10:53:56 +0200 - build 1268

1. Continue ruining VMenu.

t-rex 05.12.2009 00:20:30 +0200 - build 1267

1. Some more cleaning in global.hpp.

2. Bugs in ConsoleTitle.

t-rex 04.12.2009 22:06:38 +0200 - 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.

svs 04.12.2009 19:09:57 +0300 - 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())

chupakabra 04.12.2009 17:32:00 +0200 - build 1264

1. GetFinalPathNameByHandle() is wrapped into __try __except to prevent crash under Windows 7 + Ext2FSD.

t-rex 04.12.2009 10:53:20 +0200 - 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.

chupakabra 04.12.2009 05:47:00 +0200 - build 1262

1. Mantis#0000975: Filename column is displayed last in search results dialog.

2. Horizontal VMenu scroll is fixed.

t-rex 02.12.2009 23:04:07 +0200 - build 1261

1. Warning and near.

t-rex 02.12.2009 22:03:01 +0200 - build 1260

1. Overdone a little in PathCanHoldRegularFile().

2. Removed a couple of duplicate functions.

3. Some makeup by the way.

zg 02.12.2009 00:10:59 +0200 - build 1259

1. 1258 is being continued. Now the “Packed” column contains real values.

zg 01.12.2009 23:21:54 +0200 - build 1258

1. Mantis#0000916: Garbage in Detailed mode, “Packed” column.

t-rex 01.12.2009 20:37:20 +0200 - build 1257

1. Some style editing.

chupakabra 01.12.2009 08:08:00 +0200 - 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.

t-rex 01.12.2009 03:13:36 +0200 - 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.

t-rex 01.12.2009 00:37:09 +0200 - 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.

t-rex 30.11.2009 20:20:11 +0200 - 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.

svs 30.11.2009 12:10:30 +0300 - build 1252

1. syslog.cpp breakdown...

t-rex 30.11.2009 09:23:05 +0200 - build 1251

1. An accidental FarMenu.ini breakdown in 1248.

t-rex 29.11.2009 23:04:39 +0200 - build 1250

1. Some more cleaning in global.hpp.

t-rex 29.11.2009 21:45:45 +0200 - build 1249

1. clipboard service code correction.

t-rex 29.11.2009 20:33:41 +0200 - 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.

drkns 29.11.2009 19:31:17 +0200 - 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 specifications 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.

t-rex 29.11.2009 02:23:03 +0200

1. NO_RELEASE_PDB flag for make.

t-rex 28.11.2009 21:57:13 +0200

1. Added /Oy- in release to “help” fexcept.

drkns 28.11.2009 21:55:50 +0200

1. Projects sync with makefile.

t-rex 28.11.2009 15:11:26 +0200 - build 1245

1. Some tiny optimizations in strmix.cpp concerning UnicodeString.

2. gcc warnings.

drkns 28.11.2009 13:10:50 +0200

1. Some more editions in makefile_vc: VC2008 is now default, target platform autodetection.

drkns 28.11.2009 02:53:22 +0200 - build 1244

1. Various decorations in makefile_vc and, as a consequence, in code too.

t-rex 28.11.2009 02:18:44 +0200 - build 1243

1. There has been some hurry in 1242, rolling back.

t-rex 28.11.2009 01:08:27 +0200 - build 1242

1. Removed string length limitation in MenuFileToReg().

t-rex 28.11.2009 00:35:30 +0200 - build 1241

1. Mantis#1180: Cannot update file description.
Descriptions in paths ending with dots etc.

chupakabra 27.11.2009 23:14:00 +0200 - build 1240

1. Crash after commands like cd \\MAXW7.

t-rex 27.11.2009 21:52:52 +0200 - build 1239

1. A minor change, just in case.

chupakabra 26.11.2009 18:35:00 +0200 - build 1238

1. Mantis#0001176: RO attribute is not cleared when copying files from CD.

drkns 26.11.2009 11:10:35 +0200 - 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.

drkns 26.11.2009 02:15:04 +0200 - 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).

drkns 25.11.2009 15:56:12 +0200 - build 1235

1. Corrections in common deletion indicator.

t-rex 23.11.2009 20:26:00 +0200 - 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().

t-rex 22.11.2009 22:37:12 +0200 - build 1233

1. More "optimized" functioning of Opt.ClearType.

drkns 22.11.2009 17:10:02 +0200 - build 1232

1. Mantis#0001172: Access rights inheritance error when moving with the use of relative paths.

drkns 22.11.2009 09:18:07 +0200 - build 1231

1. The specification of previous build.

drkns 22.11.2009 00:37:00 +0200 - 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.

t-rex 21.11.2009 19:10:19 +0200 - 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.

t-rex 21.11.2009 18:17:15 +0200 - build 1228

1. Filter must process the keypresses before all others.

t-rex 21.11.2009 17:16:09 +0200 - 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.

t-rex 21.11.2009 14:06:52 +0200 - build 1226

1. Some more optimization and corrections in history.

svs 21.11.2009 11:52:06 +0300 - build 1225

1. Macro: Specification in Editor.Pos() regarding to negative values...

2. some text formatting :-)

t-rex 21.11.2009 01:59:20 +0200 - build 1224

1. Autocompletion in dialogs is back.

chupakabra 20.11.2009 21:01:00 +0200 - build 1223

1. Mantis#0001145: FAR crash when changing search result window size with Alt+F9.

chupakabra 20.11.2009 20:23:00 +0200 - 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().

drkns 20.11.2009 20:13:22 +0200 - build 1221

1. Malfunction of "wipe all" button when deleting files.

drkns 20.11.2009 15:01:43 +0200 - build 1220

1. Continued 1219 - ShiftDecimal/NumDel.

zg 20.11.2009 14:06:57 +0200 - build 1219

1. Forum: when NumLock is off, shift+numpad arrow keys act as arrows.

drkns 20.11.2009 13:35:56 +0200 - build 1218

1. Options-Interface settings-[ ] Show total delete progress indicator.
FarInterfaceSettings->FIS_SHOWTOTALDELPROGRESSINDICATOR

t-rex 20.11.2009 12:42:59 +0200 - build 1217

1. Yet another ancient bug in descriptions.

t-rex 20.11.2009 03:37:16 +0200 - build 1216

1. Some more refactoring, fixed a few new bugs and a couple of old ones.

drkns 19.11.2009 22:44:27 +0200 - build 1214

1. From forum: "Incorrect functioning of attributes dialog".

t-rex 19.11.2009 13:28:28 +0200 - build 1213

1. Faster autofilling of history last item in dialogs.

chupakabra 18.11.2009 00:20:00 +0200 - build 1212

1. Addition to build 1211.

chupakabra 17.11.2009 23:17:00 +0200 - build 1211

1. GetVolumeNameForVolumeMountPointW() invocation in ConvertNameToReal() caused unexpected network activity if network drives were present.

t-rex 17.11.2009 22:22:04 +0200 - build 1210

1. Stubs again, in order to avoid Windows bug which makes the launcher “stuck” in Win7 telnet session.

drkns 17.11.2009 00:46:37 +0200 - build 1209

1. 1207.1 specification.

t-rex 17.11.2009 00:07:50 +0200 - 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).

drkns 16.11.2009 17:57:38 +0200 - 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].

t-rex 16.11.2009 15:47:38 +0200 - 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.

drkns + t-rex 15.11.2009 22:40:40 +0200 - 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).

chupakabra 08.11.2009 09:09:00 +0200 - build 1204

1. From Maximus: Mantis#0001163: Description is not displayed, although `Descript.ion' contains it.

2. Ineffective code in VMenu.

chupakabra 08.11.2009 08:08:00 +0200 - build 1203

1. VMenu::Show() didn't consider submenus.

garry 06.11.2009 11:18:34 +0300 - build 1202

1. Problems with copy through WebDav: http://forum.farmanager.com/viewtopic.php?f=9&t=4626
(modified patch from Yegor).

chupakabra 05.11.2009 06:32:00 +0200 - build 1201

1. Mantis#0001104: Crash after attempt to open tree panel for mount point.

t-rex 04.11.2009 17:16:24 +0200 - build 1200 (UTF-16 LE :)

1. !?$<history>$<title>?<init>! - the name of the history contained garbage instead of `history'.

t-rex 04.11.2009 13:17:09 +0200 - 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.

chupakabra 04.11.2009 13:09:00 +0200 - build 1198

1. Mantis#0001158: AltF2 disk menu of wrong size at 80x25 window (broken in 1190).

t-rex 04.11.2009 00:46:54 +0200 - build 1197

1. Let's torture UnicodeString a little bit more.

2. Warning in gcc.

t-rex 03.11.2009 13:50:19 +0200 - build 1196

1. F9->Options - incorrect work.

t-rex 03.11.2009 13:10:37 +0200 - 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.

t-rex 02.11.2009 15:12:55 +0200 - 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.

svs 02.11.2009 15:03:32 +0300 - 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.

zg 01.11.2009 16:52:52 +0200 - build 1192

1. Mantis#0001144: Ctrl-G processes each selected file several times.

t-rex 31.10.2009 20:39:13 +0200 - 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.

chupakabra 30.10.2009 22:30:00 +0200 - build 1190

1. Mantis#0001083: Incorrect VMenu redraw.

yjh 30.10.2009 03:07:09 +0300 - 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

svs 29.10.2009 16:49:25 +0300 - 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

t-rex 27.10.2009 18:04:07 +0200 - build 1187

1. Finished Mantis#1087.

t-rex 27.10.2009 16:45:19 +0200 - 1186

1. Mantis#1087: FCTL_SETPANELDIR does not return error (0) for nonexisting path.

2. CodeBlocks project update from Morten MacFly.

zg 27.10.2009 14:29:01 +0200 - build 1185

1. Editor status line displayed "Col" and current line at switched places.

t-rex 26.10.2009 15:17:44 +0200

1. Now makefile_vc knows about VC10.

t-rex 26.10.2009 13:42:02 +0200

1. Removed reminder about (?{name}pattern) from help because we don't support it.

2. Added help on "ClearType friendly redraw".

yjh 26.10.2009 10:57:04 +0300 - build 1184

1. Error in plugin.hpp - plugin sources can be pure C, not only .cpp.

chupakabra 26.10.2009 06:02:00 +0200 - build 1183

1. Fixed processing of an empty input line in FSF.ConvertPath() and FSF.GetPathRoot().

t-rex 26.10.2009 00:45:52 +0200 - 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).

t-rex 24.10.2009 23:39:28 +0200 - build 1181

1. Somebody has forgot to set FSF.GetCurrentDirectory :)

drkns 24.10.2009 20:23:01 +0200 - build 1180

1. As so called "current directory" doesn't always match the folder shown currently on panel, a specification 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.

drkns 23.10.2009 22:51:44 +0200 - build 1179

1. Mantis#0001137: Deletion of directories with links.

t-rex 23.10.2009 12:34:50 +0200 - build 1178

1. The stack size is restored, because the bug has been located in TmpPanel.

chupakabra 22.10.2009 22:16:00 +0200 - build 1177

1. Stack size has increased (to prevent tmppanel crash after MAX_PATH to NT_MAX_PATH change)

drkns 21.10.2009 22:31:01 +0200 - build 1176

1. Mantis#0001131: Excessive subfolders scan in symlink deletion

2. Bug in folders rename by mask.

svs 21.10.2009 18:08:30 +0300 - build 1175

1. Missing space between Fn and item in UserMenu.

drkns 20.10.2009 20:35:25 +0200 - 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.

svs 20.10.2009 17:03:59 +0300 - build 1173

1. `Owner' is not shown in panels (Ctrl-8)
Added "curdir" to object which is being tested.

svs 19.10.2009 11:41:50 +0300 - build 1172

1. Mantis#0001030: Unexpected change of attributes in file FARMENU.INI

chupakabra 18.10.2009 20:45:00 +0200 - build 1171

1. Fixed the recursive symlinks check mechanism.

2. ScanTree must not enter symlinks while deleting.

3. Minor changes in ConvertNameToReal().

drkns 16.10.2009 06:24:11 +0200 - build 1170

1. Forgotten debug code :)

drkns 16.10.2009 00:08:51 +0200 - build 1169

1. Fix for 1167.

chupakabra 15.10.2009 23:47:00 +0200 - build 1168

1. Mantis#0001094: Problem with deleting directories over the network.

drkns 15.10.2009 19:12:29 +0200 - build 1167

1. Mantis#0001113: Filling the screen with '?' symbols.

2. Continue `printf' removal from problematic places.

drkns 15.10.2009 00:46:56 +0200 - 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.

drkns 14.10.2009 19:25:48 +0200 - build 1165

1. Warnings (level 4).

2. VirtualFindData for ANSI plugins.

drkns 13.10.2009 22:34:34 +0200 - build 1164

1. Warnings.

drkns 13.10.2009 22:26:59 +0200 - 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.

chupakabra 13.10.2009 03:00:00 +0200 - build 1162

1. Addition to build 1161.

chupakabra 13.10.2009 02:14:00 +0200 - build 1161

1. Fixed the behaviour of ConvertNameToReal() on volumes with no unique identifier.

drkns 11.10.2009 21:50:10 +0200 - 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".

svs 07.10.2009 17:30:36 +0300 - 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.

svs 06.10.2009 20:51:50 +0300 - build 1158

1. Macro: CheckHotkey() works in "Dialog" area.
If current element is ListBox or opened Combobox (opened History), then CheckHotkey() works with it.

chupakabra 05.10.2009 20:49:00 +0200 - build 1157

1. Current directory updating for plugins with OPIF_REALNAMES.

svs 05.10.2009 17:12:13 +0300 - 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 (\)

chupakabra 05.10.2009 12:36:00 +0200 - build 1155

1. Fixed an issue with ConvertNameToReal() at dynamic volumes.

drkns 30.09.2009 20:43:48 +0200 - build 1154

1. 1153.1 specification for the case of empty disk root directory.

drkns 29.09.2009 18:07:44 +0200 - 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 '*.*'.

svs 29.09.2009 11:50:38 +0300 - build 1152

1. Mantis#0001064: Error in string handling
Next specification 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"

zg 28.09.2009 20:33:47 +0200 - 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.

drkns 28.09.2009 20:02:46 +0200 - build 1150

1. From Tim Sobolev: Mantis#0001074: It was impossible to create/edit/view file with name started with 2 or more '.'

svs 28.09.2009 20:59:21 +0300 - 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)

drkns 27.09.2009 22:50:36 +0200 - 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

garry 27.09.2009 22:54:30 +0300 - 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).

drkns 27.09.2009 08:56:45 +0200 - 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.

drkns 27.09.2009 01:05:56 +0200 - 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.

svs 26.09.2009 19:07:24 +0300 - build

1. Mantis#0000986: Far 2 API - pascal
from: max rusov
PluginW.pas: Added RegExp support

svs 26.09.2009 19:07:24 +0300 - build

1. Mantis#0000986: Far 2 API - pascal
from: max rusov
PluginW.pas: Added RegExp support.

zg 26.09.2009 17:05:26 +0200 - 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.

zg 26.09.2009 14:24:24 +0200 - build 1143

1. Fix of #1136 for non-existing codepages.

zg 25.09.2009 22:59:27 +0200 - build 1142

1. Mantis#0000921: Problems with ECTL_SAVEFILE.

svs 25.09.2009 18:00:55 +0300 - 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.

zg 25.09.2009 16:25:35 +0200 - build 1140

1. At replace with regexps, if parentheses are not found, they are replaced to an empty string.

zg 24.09.2009 23:52:29 +0200 - build 1139

1. f6 in editor and viewer keeps current codepage.

zg 24.09.2009 23:40:59 +0200 - build 1138

1. Now plugins in Viewer/Editor can set codepages.

zg 24.09.2009 22:19:38 +0200 - 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.

zg 24.09.2009 21:02:09 +0200 - build 1136

1. The simplest ESPT_CODEPAGE implementation.

zg 24.09.2009 19:03:28 +0200 - 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.

svs 22.09.2009 21:07:01 +0300 - build 1134

1. Macro: Mantis#1064
msgbox("01") displays "1" in header, instead of "01".
The rest conforms the specification (see build 1127#6).

drkns 20.09.2009 23:50:53 +0200 - 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.

zg 19.09.2009 01:53:37 +0200 - build 1132

1. Macros which had been launched by plugin from ProcessSynchroEvent didn't run always.

chupakabra 17.09.2009 13:24:00 +0200 - build 1131

1. An addition to build 1130.

svs 17.09.2009 12:40:39 +0300 - build 1130

1. from Alexey Samlyukov:
UserMenu draws long submenu captions incorrectly (if they don't fit the screen)

chupakabra 14.09.2009 19:03:00 +0200 - 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.

zg 15.09.2009 20:52:39 +0200 - build 1128

1. gcc build.

2. gcc warnings.

svs 15.09.2009 20:37:40 +0300 - 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: the specification 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)

zg 15.09.2009 18:23:10 +0200 - build 1126

1. Mantis#0001058: The range for character class doesn't work for Cyrillic characters
RegExp::Optimize cuts Unicode to first 256 characters.

drkns 14.09.2009 19:19:36 +0200 - build 1125

1. The file attributes change could lead to crash.

chupakabra 14.09.2009 19:03:00 +0200 - build 1124

1. Mantis#0001055 & Mantis#0001056: Problems with changing to root folder (Ctrl+\).

drkns 13.09.2009 23:57:35 +0200 - build 1123

1. Applying `#pragma once' instead of `include guard'. This must improve the compilation time.

drkns 13.09.2009 20:12:26 +0200 - build 1122

1. From forum: crashes if switching to filepanel using menu when infopanel/qview is opened.

t-rex 13.09.2009 14:49:26 +0200 - build 1121

1. Somebody has switched off regexp in replace.

2. Don't forget, include's are case sensitive in some OS'es.

drkns 13.09.2009 11:24:41 +0200 - build 1120

1. Mantis#0001054: The disk free size is displayed incorrectly.

chupakabra 12.09.2009 22:53:00 +0200 - build 1119

1. Changes in API: farConvertNameToReal() always returns required buffer size (similar to farGetPathRoot())

drkns 12.09.2009 19:04:40 +0200 - 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.

chupakabra 11.09.2009 01:51:00 +0200 - build 1117

1. gcc build is corrected.

2. makefile_gcc: debug version is not optimized; dependences are corrected (make -j worked incorrectly)

chupakabra 11.09.2009 01:02:00 +0200 - 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.

drkns 10.09.2009 23:12:56 +0200 - 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%.

chupakabra 09.09.2009 16:47:00 +0200 - build 1114

1. GetPathRoot() is implemented via ConvertNameToReal().

chupakabra 09.09.2009 06:30:00 +0200 - build 1113

1. Mantis#0001039: the option "Del removes blocks in edit controls" wasn't stored.

chupakabra 09.09.2009 05:40:00 +0200 - build 1112

1. Corrected gcc and x64 builds.

chupakabra 09.09.2009 05:01:00 +0200 - build 1111

1. ConvertNameToReal() now uses NtQueryObject() on Windows XP.
Old code with symlinks crawling is completely deleted.

drkns 08.09.2009 22:18:01 +0200 - build 1110

1. Creation of folder with name ending with point by F7 didn't work.

chupakabra 08.09.2009 21:54:00 +0200 - 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.

chupakabra 07.09.2009 18:25:00 +0200 - 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.

t-rex 06.09.2009 22:57:09 +0200 - build 1107

1. Mantis#1038: Incorrect subdirectories location in tree panel.

chupakabra 05.09.2009 04:49:00 +0200 - 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).

zg 04.09.2009 16:44:34 +0200 - build 1105

1. After 1103, search consumed two-fold CPU time amount.

t-rex 04.09.2009 00:16:00 +0200 - 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.

drkns 03.09.2009 20:01:23 +0200 - 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.

svs 03.09.2009 18:07:57 +0300 - 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...".

chupakabra 03.09.2009 15:36:00 +0200 - build 1101

1. Mantis#0001002: crash in VMenu when all elements are hidden.

2. Added synchronization in VMenu::GetMaxLineWidth().

t-rex 31.08.2009 22:29:55 +0200 - build 1100

1. We continue Mantis#1025, there has been yet another inner limitation on descript.ion record length.

drkns 31.08.2009 19:37:49 +0200 - 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.

t-rex 29.08.2009 23:11:42 +0200 - build 1098

1. The update of previous build.

drkns 29.08.2009 21:53:31 +0200 - build 1097

1. Mantis#0001026: The “Search” button in viewer was broken.

drkns 29.08.2009 00:51:58 +0200 - build 1096

1. A few memset's removed.

2. Help files: codepage names at section “FileSaveAs”.

chupakabra 28.08.2009 18:28:00 +0200 - build 1095

1. FCTL_REDRAWPANEL could return FALSE in case of success

svs 28.08.2009 19:14:22 +0300 - build

1. Help translation from Igor Yudincev

svs 28.08.2009 19:01:31 +0300 - 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!)

zg 28.08.2009 16:10:30 +0200 - 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.

t-rex 27.08.2009 20:09:59 +0200

1. Hungarian lng update from Far Hunor.

drkns 27.08.2009 19:54:05 +0200 - 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).

drkns 26.08.2009 20:02:15 +0200 - 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%."

drkns 25.08.2009 20:32:14 +0200 - 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.

svs 25.08.2009 17:20:04 +0300 - build 1089

1. Mantis#0000970: descript.ion change date does not change if there  were no changes
  from Maximus

svs 24.08.2009 19:15:12 +0300 - 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?).

drkns 22.08.2009 00:44:39 +0200 - 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".

svs 19.08.2009 11:42:58 +0300 - build 1086

1. Mantis#0000905: Changes in "eval"
   eval("",1) variant returns error 12 ("Zero-length macro")
   Considering empty macro sequences illegal.

svs 17.08.2009 12:26:34 +0300 - build

1. Mantis#0000986: Far 2 API - pascal
    from: max rusov
      PluginW.pas: FAR_USE_INTERNALS are removed

drkns 16.08.2009 09:05:05 +0200 - build 1085

1. gcc.

drkns 15.08.2009 20:13:55 +0200 - build 1084

1. Corrections in previous build.
   pointer_array is replaced with TPointerArray.

drkns 14.08.2009 23:38:43 +0200 - 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.

svs 14.08.2009 11:51:50 +0300 - build

1. Mantis#0000986: Far 2 API - pascal
    from: max rusov
      PluginW.pas: x64 support is added. Tested under FreePascal 2.3.1

t-rex 12.08.2009 12:01:41 +0200 - build 1082

1. From Evgeny Zhirnov: Mantis#1006: Add "explicit" to UnicodeString::UnicodeString(size_t, size_t=0) constructor.

svs 11.08.2009 18:55:01 +0300 - build 1081

1. Ctrl-Home/End on numeric keypad do not work.
   from: Alexey Samlyukov

drkns 09.08.2009 17:21:34 +0200 - build 1080

1. If a single object was selected on panel and cursor was on "..", then PanelInfo.SelectedItemsNumber contained 0.


--------------------------------------------------------------------------------
Entries 464-1079 are not translated yet.
--------------------------------------------------------------------------------


svs 27.03.2008 18:03:22 +0300 - 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.

drkns 26.03.2008 10:19:23 +0200 - 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...:)

t-rex 25.03.2008 23:41:53 +0200 - build 461

1. Editor::GoToLine optimization, it was badly needed

t-rex 25.03.2008 21:25:42 +0200 - 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).

svs 25.03.2008 21:51:35 +0300 - 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

svs 25.03.2008 18:34:01 +0300 - build 458

1. Corrections in panel.SetPath and optional parameters

svs 25.03.2008 16:54:07 +0300 - 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

drkns 25.03.2008 07:15:18 +0200 - 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.

zg 25.03.2008 02:15:01 +0200 - build 455

1. With TabSize=1, ShiftTab at the beginning of the string resulted in
a negative value for the current column.

t-rex 22.03.2008 21:33:34 +0200 - build 454

1. DM_LISTINSERT didn't return a value as described in the
Encyclopedia

2. Some fixes to prevent potential bugs.

svs 20.03.2008 18:22:21 +0300 - 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


svs 17.03.2008 20:23:22 +0300 - 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

drkns 17.03.2008 07:36:28 +0200 - build 451

1. Correction for drawing '>' when scrolling VMenu.

t-rex 16.03.2008 23:39:26 +0200 - 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

t-rex 15.03.2008 19:49:48 +0200 - build 449

From Alexey Samlyukov:

1. math error when drawing '>' (for long strings in menu items).

t-rex 15.03.2008 17:47:09 +0200 - build 448

1. Mantis#87: Copying and hard links.

svs 15.03.2008 17:48:39 +0300 - build  447

1. Ctrl-N removed for lists (http://forum.farmanager.com/viewtopic.php?
f=3&t=3130)

drkns 15.03.2008 15:53:04 +0200 - 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.

t-rex 15.03.2008 13:41:32 +0200 - build 445

1. Mantis#467: Cannot switch to a plugin panel; incorrect panel
elements.
   Fixed, but cannot understand anything :)

t-rex 14.03.2008 19:16:30 +0200 - build 666-666/3

1. Mantis#458: From the folder history, plugin having 1-letter prefix
is run

t-rex 14.03.2008 17:23:28 +0200 - 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.

svs 14.03.2008 00:18:12 +0300 - 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.

drkns 13.03.2008 19:18:08 +0200 - 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.

t-rex 13.03.2008 15:00:43 +0200 - build 440

From Denis Kosy:

1. Mantis#492: FindFile results window is losing data.

svs 13.03.2008 14:20:19 +0300 - build 439

1. From Denis Kosy: Mantis#0000491: macro panel.fexist doesn't work.

t-rex 12.03.2008 23:55:03 +0200 - 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).

t-rex 12.03.2008 15:24:39 +0200 - 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.

svs 12.03.2008 14:24:00 +0300 - build 436

1. When pressing Reset in the filters dialog, '&' symbol appears in
the 'size' and 'date' comboboxes.
   Added Edit::SetHiString(), similar to HiText2Str.

t-rex 12.03.2008 11:28:17 +0200 - 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).

svs 12.03.2008 11:42:45 +0300 - 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.

t-rex 12.03.2008 00:36:38 +0200 - 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.

t-rex 11.03.2008 22:51:56 +0200 - build 432

1. Small optimization of HiText2Str().

svs 11.03.2008 21:01:02 +0300 - 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

t-rex 11.03.2008 11:17:36 +0200 - 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

t-rex 10.03.2008 22:39:06 +0200 - 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

t-rex 10.03.2008 21:47:59 +0200 - 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.

t-rex 09.03.2008 23:11:42 +0200 - build 427

from Alexander Mitin

1. Mantis#484: Memory corruption in GetPathRootOne().

t-rex 09.03.2008 14:35:11 +0200 - 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).

drkns 09.03.2008 12:28:26 +0200 - 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

t-rex 09.03.2008 12:23:43 +0200

1. Hotkey conflicts in the filter dialog (eng).

t-rex 09.03.2008 11:38:53 +0200 - build 424

From Dmitry Ovdienko:

1. Mantis#483: Undefined behavior in Search window.

t-rex 08.03.2008 19:21:05 +0200 - build 423

From Alexey Samlyukov:

1. Mantis#439: Cancel after Ctrl+G should not update the panels.

t-rex 08.03.2008 15:51:50 +0200 - build 422

From George Yohng:
1. Mantis#475: Panel header was displayed in CAPS even when the
directory doesn't use caps.

warp 02.03.2008 17:50:00 +0300 - build 421

1. Fixed displaying of plugins in the Disks menu... just for fun :-)

t-rex 25.02.2008 01:28:29 +0200 - build 420

From Stanislav Vinokurov:

1. Mantis#436: PrepareExecuteModule() bug(s)

zg 20.02.2008 19:27:59 +0200 - build 419

1. hotplug devices list. visual glitches when removing several devices
simultaneously

drkns 12.02.2008 22:41:34 +0200 - 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.

svs 30.01.2008 01:38:39 +0300 - 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? :-)

Zuz 25.01.2008 23:11:21 +0500 - build 416

1. Mantis#000337, Mantis#0000176 refix
2. Double refresh of panel after CTRL-Z.

ts 23.01.2008 15:32:27 +0200 - 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.

drkns 18.01.2008 23:48:39 +0200 - 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.

drkns 15.01.2008 19:50:26 +0200 - 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.

svs 15.01.2008 14:44:11 +0300 - 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()

drkns 14.01.2008 19:43:11 +0200 - 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

Zuz 12.01.2008 01:52:26 +0500 - build 410
1. More liberal requirements for access rights (Mantis#0000453).

2. In FindFiles::LookForString, libc API for file operations changed
to WIN32 API.

drkns 11.01.2008 11:12:03 +0200 - 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.

svs 11.01.2008 11:48:41 +0300 - build 408

1. Mantis#0000456: ConvertNameToReal function doesn't work for
symlinks
   correction

svs 09.01.2008 20:53:11 +0300 - build 407

1. Mantis#0000447: Buffer overrun in Edit:ProcessKey()
   "patch for a patch"

svs 09.01.2008 19:54:42 +0300 - 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

ts 07.01.2008 12:25:13 +0200 - 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

ts 07.01.2008 21:02:07 +0200 - 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.

t-rex 07.01.2008 08:31:08 +0200

1. Spacing unification in the wrapper, without a build.

ts 07.01.2008 06:45:38 +0200 - 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!

drkns 06.01.2008 14:57:04 +0200 - build 402

1. New pseudokeys MsWheelLeft and MsWheelRight - horizontal scroll
(for Vista and above).
   MsHWheelDelta* parameters added to TechInfo#33.

svs 05.01.2008 19:19:19 +0300 - 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"


ts 05.01.2008 11:39:30 +0200 - build 400

1. Changes in wrapper messages handling for listbox and combobox.

t-rex 04.01.2008 18:07:50 +0200 - 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.

drkns 31.12.2007 20:03:57 +0200 - 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

svs 28.12.2007 13:39:19 +0300 - build 397

1. Mantis#0000452: Bug, doubling code and improvements in hotplug.cpp

svs 23.12.2007 16:14:14 +0300 - build 396

from Alexey Samlyukov:

1. memcpy()/wmemcpy() + more Unicode-related fixes + removed legacy
code (#if defined(FAR_ANSI))

svs 23.12.2007 15:54:37 +0300 - 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.

yjh 15.12.2007 00:54:56 +0300 - 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 :)


svs 15.12.2007 00:35:38 +0300 - 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.

drkns 14.12.2007 21:59:01 +0200 - 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

svs 14.12.2007 13:45:16 +0300 - 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 13.12.2007 20:31:34 +0300 - 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"

svs 10.12.2007 21:22:18 +0300 - 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

t-rex 08.12.2007 23:40:46 +0200 - build 388

From Stanislav Vinokurov:

1. Mantis#411: Batch files are executed in the external window.

t-rex 08.12.2007 17:55:02 +0200 - 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.

t-rex 07.12.2007 16:36:54 +0200 - build 386

1. Mantis#421: Memory leak caused by using memset() to initialize
values of structures.

svs 06.12.2007 18:45:06 +0300 - 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.


svs 06.12.2007 13:31:33 +0300 - 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()


svs 05.12.2007 17:29:24 +0300 - 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 04.12.2007 23:41:54 +0200 - build 382

1. Various bugs mostly related to incorrect usage of sizeof along with
wchar_t.

drkns 04.12.2007 19:55:33 +0200 - build 381

1. Minor bug in 379.

svs 04.12.2007 20:25:07 +0300 - build 380

1. Mantis#0000410: Memory leak in class History

drkns 04.12.2007 18:51:36 +0200 - 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.

svs 04.12.2007 09:26:51 +0300 - 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)


t-rex 04.12.2007 08:18:31 +0200 - build 377

1. Mantis#406: Memory corruption and crash in Editor::AddUndoData().

2. Mantis#407: Memory leak in CommandLine class.

t-rex 03.12.2007 23:19:20 +0200 - 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().

drkns 03.12.2007 20:20:28 +0200 - 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.)

drkns 03.12.2007 07:54:40 +0200 - build 374

1. Mantis#0000399: Memory leak in add_sid_cache()

2. DM_SETDLGITEM didn't work

t-rex 03.12.2007 00:01:04 +0200 - 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.

t-rex 02.12.2007 23:06:15 +0200 - 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.

t-rex 02.12.2007 20:05:17 +0200 - build 371

1. From Stanislav Vinokurov: Mantis#397: Incorrect processing of
oldfar::DM_GETTEXTPTR in FarSendDlgMessageA()

2. The same for oldfar::DM_GETTEXT.

t-rex 02.12.2007 13:59:53 +0200 - build 370

1. From Mantis#396, incorrect check during realloc in
TreeList::ReadTreeFile.

t-rex 02.12.2007 00:15:59 +0200 - build 369

1. Mantis#394: A full path must be passed in the Name argument of
OpenFilePlugin(), not a file name.

t-rex 01.12.2007 19:47:22 +0200 - 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().

t-rex 01.12.2007 15:54:34 +0200 - 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().

t-rex 30.11.2007 16:28:14 +0200 - build 366

from Alexey Samlyukov:

1. Mantis#388: fixes for dialog initialization in  File/Folder
descriptions.

t-rex 30.11.2007 16:12:41 +0200 - build 365

from Alexandr Zamaraev:

1. Mantis#387: copy.cpp, counting cycle instead of function call

t-rex 30.11.2007 16:02:33 +0200 - build 364

from Alexey Samlyukov:

1. Mantis#389: remove ConvertOldSettings().

t-rex 30.11.2007 15:30:14 +0200 - 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.

drkns 27.11.2007 21:20:14 +0200 - 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

svs 27.11.2007 09:46:25 +0300 - 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()

svs 26.11.2007 12:49:47 +0300 - 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

t-rex 25.11.2007 21:15:46 +0200

No build.

1. Unnecessary "wchar_t *m_lpwszBuffer" in UnicodeString.hpp.

2. Updates in HACKING-*.

t-rex 25.11.2007 20:39:14 +0200 - build 359

from Alexey Samlyukov:

1. Mantis#376: Fix in the Viewer settings dialog.

drkns 24.11.2007 18:24:58 +0200 - build 358

1. Macros with $If, $Else etc. weren't processed

2. Macro function Date() did't work.


t-rex 24.11.2007 18:03:42 +0200 - build 357

1. Mantis#375: Network plugin wasn't called after doing ChangeUp in a
network resource. Thanks to Redart.

t-rex 24.11.2007 17:30:03 +0200 - build 356

1. Search in editor is back.

2. Cursor could disappear while searching in editor

drkns 22.11.2007 19:33:01 +0200 - 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.

svs 19.11.2007 11:57:58 +0300 - build 354

1. Mantis#0000358: For "points" element of PluginPanelItem.UserData is
always 0

t-rex 18.11.2007 23:23:43 +0200 - build 353

1. DN_EDITCHANGE and DN_DRAWDLGITEM are passed to FarDialogItem (?)

2. Using correct xf_(free|malloc|realloc) in all the code

drkns 18.11.2007 12:11:21 +0200 - build 352

1. For the user's menu, macro scope was set to Menu instead of
UserMenu.


t-rex 18.11.2007 02:19:42 +0200 - build 351

1. Mantis#357 By Oleg Bekhter's advice: memory "hit" when deleting a
block in the editor.

t-rex 18.11.2007 01:33:22 +0200 - 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

t-rex 16.11.2007 22:52:36 +0200 - 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.
-----------------------------------------

yjh 16.11.2007 07:20:48 +0300 - 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


yjh 16.11.2007 00:17:38 +0300 - build 347

1. In exception filters, the option that disallowed filtering of
directories wasn't respected.

drkns 15.11.2007 20:04:49 +0200 - build 346

1. One more "owners-related" fix


yjh 15.11.2007 04:10:08 +0300 - 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 :-)


drkns 14.11.2007 22:22:05 +0200 - build 344

1. Small bug in 343.

drkns 14.11.2007 21:22:05 +0200 - 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 :)


yjh 14.11.2007 22:04:42 +0300 - 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.

drkns 13.11.2007 22:45:17 +0200 - 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

yjh 13.11.2007 09:44:34 +0300

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.


yjh 13.11.2007 07:06:56 +0300 - build 340

1. FarNameToKey for plugins


yjh 13.11.2007 03:04:15 +0300 - 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).


t-rex 12.11.2007 22:58:42 +0200 - build 338

1. A couple of fixes (API, opening help in Far).

drkns 12.11.2007 21:59:08 +0200 - 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.

svs 12.11.2007 19:09:32 +0300 - 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 :-(

svs 12.11.2007 14:51:46 +0300 - 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

yjh 11.11.2007 22:33:53 +0300 - build 334

1. corrections in plugin.hpp to work with .c (not .cpp) files

t-rex 10.11.2007 23:26:42 +0200 - build 333

1. Changes in the wrapper regarding new DialogAPI

2. ViewerInfoW -> ViewerInfo.

yjh 10.11.2007 20:39:24 +0300 - 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


t-rex 10.11.2007 19:11:17 +0200 - build 331

1. Little mess-up with CutToSlash in 326.

yjh 10.11.2007 18:41:37 +0300 - 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 :)

t-rex 09.11.2007 21:34:19 +0200 - build 329

1. Fixed a minor problem in x64 API. I hope this is the last one.

t-rex 09.11.2007 18:12:56 +0200 - 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

svs 09.11.2007 15:54:24 +0300 - 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...

t-rex 09.11.2007 13:18:53 +0200 - build 326

1. Numerous fixes and improvements in the usage of string.GetBuffer().

2. Some unification of space delimiters in sources (tabs vs spaces)

svs 09.11.2007 11:57:41 +0300 - 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.


t-rex 07.11.2007 17:47:14 +0200 - build 324

1. A couple of minor BUGBUG's and some unification of space delimiters
(tabs vs spaces)

zg 05.11.2007 12:04:08 +0200 - 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"

yjh 05.11.2007 05:01:40 +0300 - 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.

t-rex 04.11.2007 22:41:29 +0200 - build 321

1. A couple of small BUGBUG's fixed (command line and loader)

yjh 04.11.2007 22:21:28 +0300 - build 320

1. In FarKeyToName, Size parameter and the returning value are in
symbols, not in bytes.

yjh 04.11.2007 21:33:24 +0300 - 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.

t-rex 01.11.2007 23:37:35 +0200 - build 318

from chupakabra:

1. While drawing a border of the Information panel for a plugin (Ctrl
+L), BoxSymbols[] is not used.

t-rex 01.11.2007 22:42:35 +0200 - build 317

from Alex Alabuzhev:

1. API 1.7:
   - ViewerControl
   - several more messages in Dialog API
   - Text: recursion when Str = NULL

svs 01.11.2007 16:57:56 +0300 - 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 :-)

t-rex 30.10.2007 20:55:12 +0200 - 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

svs 29.10.2007 09:52:31 +0300 - build 314

from _anton_ (?)

1. in plugin.hpp, the second parameter of MakeDirectoryW function is
char*, not
   wchar_t*.

t-rex 28.10.2007 21:10:05 +0200

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.

t-rex 28.10.2007 20:04:06 +0200 - build 313

from Alexandr Zamaraev:

1. Improved GCC build.

t-rex 28.10.2007 17:59:38 +0200 - 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 :-)

t-rex 28.10.2007 17:31:13 +0200 - build 311

from Alexandr Zamaraev (Tonal):

1. Builds with 4.2.1

t-rex 28.10.2007 16:37:51 +0200 - 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)

svs 28.10.2007 17:00:58 +0300 - build

1. Added SYSLOG-RU file, describing logging in FAR

svs 28.10.2007 01:54:39 +0300 - build 309

1. Macro: crash when recording a keyboard sequence

2. KEY_MACRO_BASE moved back to "keys", because of certain problems.

svs 28.10.2007 01:15:53 +0300 - 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

t-rex 27.10.2007 22:08:48 +0200 - build 307

1. After 301, a regression appeared: FEDITLINE_CLEARFLAG wasn't reset
for Edit.

t-rex 27.10.2007 20:05:33 +0200 - build 306

1. Optimizied on-screen output of strings in the editor. Great
improvement on very long lines.

2. SHITHAPPENS removed, not used anymore

t-rex 27.10.2007 17:05:41 +0200 - build 305

from chupakabra:

1. Infinite cycle in FarMkTempEx().

2. DeleteFileWithFolder() removes only file but leaves folder intact

svs 27.10.2007 15:37:28 +0300 - build 304

1. Added MCODE_OP_NOP

2. Better handling of crashes while deleting or playing a macro

t-rex 27.10.2007 14:18:57 +0200 - build 303

1. Fixes in Debug and GCC builds, removed a couple of warnings.

svs 27.10.2007 13:15:23 +0300 - build 302

1. Fix in KeyMacro::MkTextSequence.

svs 26.10.2007 19:09:24 +0300 - 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.


t-rex 26.10.2007 14:34:01 +0200 build 300

1. Are you ready? :)

--------------------------------------------------------------------------------
Entries 145-300 are not translated yet.
--------------------------------------------------------------------------------
