новый комплект факторов
Win 10 x64
Far Manager v3.0 build 4972 x64 MoreHistory — История папок и плагинов Калькулятор
из плагинов достаточно LuaMacro
вызываем Калькулятор, вводим log10(0)
Far молча схлопывается
ccaid, даже не надо калькулятора, достаточно с комстроки исполнить lua:math.log10(0).
Честно говоря, на данный момент у меня нет решения. _control87(_MCW_EM,_MCW_EM) почему-то в этом случае не защищает.
Добавлено:
Можете поместить на баг-трекер.
Last edited by Shmuel on Fri 09 Jun, 2017 16:18, edited 1 time in total.
для падения обычно достаточно после запуска Far сразу нажать F10 Enter, но процесс вероятностный, иногда нужно повторить попытку или походить по папкам перед выходом
обнаружено и ректифицировано было под Win10, под Win7 с лёгкостью повторилось
ccaid, я конечно попробую это поправить, хотя полной уверенности нет, что получится. Если не получится - то рекомендация будет такая: либо оставлять LuaMacro (и прочие LuaFAR-плагины), либо EdtFind (и прочие Pascal-плагины).
Паскалевские плагины включают разрешение исключений плавающей точки для всего процесса Far, то есть ведут себя так, как будто кроме них больше ничего нет.
Хочу напомнить, что ExitFAR - это, в общем случае, "деструктор", вызываемый или когда плагин уже всё, или когда весь фар уже всё.
Там можно освобождать память, закрывать файлы и т. п., но вызывать API крайне не рекомендуется.
DrKnS прав: при перезагрузке макросов LuaMacro также вызывает событие ExitFAR, но падения не происходит (по крайней мере мне не удалось его вызвать перезагрузкой макросов).
Поэтому рекомендация простая: не вызывайте Far и Macro API в обработчике ExitFAR.
ccaid, Когда-то давно я немного поправил фар в своей локальной копии, чтобы работало сохранение
состояния панелей при выходе (и восстановление при старте). Насколько помню - просто luamacro выгружается последним.
Эти изменения у меня жить не мешают, можете попробовать ваш макрос на этой версии.
2useven10, если изменения стоящие, что вам мешает их закоммитить? Если не уверены - можно открыть тему для обсуждения.
Конкретно мне - затруднительно сделать вывод по вашим диффам (много времени займёт).
У меня (с изменениями) макрос ccid падения не вызывает.
Уверен или нет - уже не помню, но я сними живу больше 3-х лет без проблем.
И да (напрягая память) целью изменений было вызвать lua ExitFARW пока все живы.