Far Manager 1.71 alpha 4 build 2440 Берем вот это:
1. 32-bit версия:
http://farmanager.com/farbugs/Far171.b2440.x86.rar 2. 64-bit (AMD64) версия:
http://farmanager.com/farbugs/Far171.b2440.x64.rar 3. HPP files:
http://farmanager.com/farbugs/FarApi171.b2440.rar Из новья следующее... (по сравнению с 2406):
1. При обработке некоторых особенно кривых юзерменю портился стек, что было чревато падениями и прочими интересными вещами.
2. В WaitKey Sleep теперь не на 50 мс, а на одну - так и процессор не греет, и побочных эффектов (viewtopic.php?t=3492) нет.
3. Добавлен #undef DefDlgProc - в WinUser.h уже есть одноимённое определение, а в far.map потом появляются чудеса вида ?DefDlgProcA@Dialog@
4. Поддержка создания вистовских ссылок по AltF6.
1. Диалог слегка переделан, поведение оставлено максимально совместимым со старым: - если источник==файл(ы) - по умолчанию выбран hardlink; - если источник==каталог(и) - junction.
2. Новые виды ссылок надо выбирать ручками
3. В справке всё это пока не отражено.
4. Здесь же: при создании ссылок отключены проверки файловых систем, типов носителя, и т.п. для источника и приёмника, ибо работают они далеко не всегда адекватно.
5. Логика проста - фар не должен включать режим телепата и строить догадки, сможет ли ОС создать ту или иную ссылку - ей в любом случае виднее.
5. API: FSF.MkLink знает о новых флагах:
1. FLINK_SYMLINKFILE - символическая ссылка-файл (NT>=6)
2. FLINK_SYMLINKDIR - символическая ссылка-каталог (NT>=6)
3. FLINK_SYMLINK переименован в FLINK_JUNCTION, в plugin.hpp старое имя оставлено для совместимости.
6. Отображение ссылок в диалоге атрибутов и quickview
7. При копировании/переносе ссылки фар блюдёт её тип и больше не превращает symlink в junction.
8. GetJunctionPointInfo требовала слишком много прав для открытия симлинка, в результате чего она обламывалась на симлинках с Everyone
DENY)(special access
FILE_READ_DATA (в Висте таких полно).
9. В ряде мест убраны проверки на CheckFolder()==CHKFLD_NOTACCESS, т.к. из-за них нельзя было зайти в каталог, где можно "traverse folder", но нельзя "list folder" (в Висте, опять же, таких полно, и cmd зайти позволяет). А BugZ#743, ради которого они вводились, похоже, уже починился где-то раньше.
10. В IsModulePlugin2 добавлена проверка IMAGE_FILE_HEADER.Machine, дабы 32-битный фар не пытался грузить 64-битные плагины (и наоборот).
11. Криво работала команда cd \\.\pipe
12. Mantis#0000600: Поведение DIF_SELECTONENTRY при создании диалога. Поломалось в 2257 билде.
13. Mantis#0000475: Отображение заголовка панели ЗАГЛАВНЫМИ буквами даже когда директорий не заглавный
14. Mantis#0000599: Невозможно ходить по сетевым дискам подключенным через WebDAV
15. Mantis#0000592: Сбрасывается состояние IClip при использовании функции eval
16. При переходе на 2306 билд сломалось восстановление каталога по шорткату в плагиновых панелях.
17. Цвет пользовательского буфера теперь настраивается. В палитру добавлен COL_COMMANDLINEUSERSCREEN.
18. При выходе из FAR восстанавливаются цвета текста/фона, использовавшиеся в консоли до его запуска.
19. При старте FAR некорректно прокручивался предыдущий output и копирайт рисовался поверх него, а не после.
20. Mantis#0000577: Сбрасывается позиция в строке при Undo после XLat
21. Mantis#0000554: В списке Hotplug-устройств отсутствует диалог об ошибке извлечения устройства
22. Mantis#0000579: Неполадки при операциях фара (таких как копирование), запущенных из макроса. Если "DisableOutput=0" и в процессе копирования, например, мы нажали Esc и отменили процесс и (!) если логика макроса не поняла, что ее "кинули" (макрос не отследил факта появления "левого" диалога), то...
23. Mantis#0000571: некорректно отрисовывается соседняя панель
24. Криво обрабатывалось кнопкосочетание CtrlAltShiftPause.
25. Раз уж движок позволяет обрабатывать сочетания c CtrlAltShift, зарезервируем для CtrlAltShiftF1-F12 место в lng. Также зарезервировано место для CtrlAlt-, AltShift- и CtrlShiftF1-F12 в областях Help, Info, QView и Tree.
26. Macro: добавлена функция "s=trim(s[,n])" - удаляет все пробельные символы (пробелы, табуляции, переводы строк и возвраты каретки) из строки s снаружи (n=0 или не указан), слева (n=1) или справа (n=2)
27. Macro: уточнение для substr. Работало ОНО некорректно.
28. Macro: уточнение функций msgbox, prompt, panelsetpath там где в параметрах используется строка.
Код: Например,
msgbox(1,2) выдаст диалог с заголовком "1", текстом "2" и кнопкой "Ок".
msgbox(0,2) выдаст диалог с пустым заголовком, текстом "2" и кнопкой "Ок".
msgbox("0",2) выдаст диалог с заголовком "0", текстом "2" и кнопкой "Ок".
т.е. если нужно явно указать "0" - заключаем этот ноль в кавычки.