Zzzz wrote: ↑Sun 10 Dec, 2017 17:10запустил far.exe -m -p"C:\Program Files (x86)\Far3\Plugins\LuaMacro" -ro -s %TEMP%\farprofile\%RANDOM%, текущий каталог c:\, запускаю lua:msgbox(win.GetFileInfo('far.exe').FileName) - работает (со всеми именами из %FARHOME%), а если указываю Descript.ion (лежит в корне), то получаю ошибку "attempt to index a nil value".
В 4700 нормально работает.
Подводя итог.
Чтобы в макросе получить ожидаемый результат надо одно из двух:
Если не хочется вникать. Просто используйте функции макро апи (mf.*, Panel.*, APanel.*, PPanel.*)
Если же хотите использовать функции апи плагинов, то абсолютно необходимо понимать, что вы делаете, что невозможно без изучения Энциклопедии.
Наличию неочевидных ньюансов гарантируется, см. пометку Внимание.
luafar_manual это не самостоятельное руководство, а дополнение к Энциклопедии.
По существу.
Задавая только имя файла (без папки) вы задаёте относительный путь.
Можно привести его к абсолютному, используя far.ConvertPath.
Либо можно изменить текущую папку (win.SetCurrentDir) на значение, полученное от far.GetCurrentDirectory.
По завершению работы с файлами желательно вернуть всё как было.