zg 30.09.2012 03:26:20 +0200 - build 2851
1. слияние с проектом Spring (https://github.com/shmuz/Spring).
в связи с этим вместо встроенного макроязыка используется скриптовый язык Lua 5.1 (http://www.lua.org).
после перехода на Lua: macroapi_manual.ru.chm.
(Мануал весьма лаконичен, вместо описания функции старого макроязыка приведены ссылки на устаревший раздел
Не скажу точно когда началось, но уже некоторое время наблюдаю неприятный эффект: каждое последующее выполнение far.MacroLoadAll() занимает всё больше времени.
Можно проверить таким скриптом:
local max = 50
far.Message(" ... ","","","")
for i=1,max do
local start = Far.UpTime
far.MacroLoadAll()
local delay = Far.UpTime-start
far.Message(i..":"..delay,"","","k")
--if delay<500 then win.Sleep(500 - delay) end
end
far.AdvControl"ACTL_REDRAWALL"
В результате время перезагрузки макросов может достигать абсолютно неприемлемых значений (даже не секунды, а десятки секунд)
John Doe wrote:Не скажу точно когда началось, но уже некоторое время наблюдаю неприятный эффект: каждое последующее выполнение far.MacroLoadAll() занимает всё больше времени.
У меня аналогичный эффект. Определил виновника - файл Editor_MouseSelect.lua из комплекта SimSU.
Осталось только разобраться, как он умудряется это делать.
LuaMacro — Lua как язык макросов
Posted: Wed 29 Oct, 2014 00:33
by Shmuel
Shmuel wrote:Определил виновника - файл Editor_MouseSelect.lua из комплекта SimSU.
Осталось только разобраться, как он умудряется это делать.
Вроде починил, в плагине LuaMacro.
С файла Editor_MouseSelect.lua все обвинения сняты, он просто содержал (вполне законную) конструкцию типа pcall(require, "inexistent"), при которой данный эффект проявлялся.
LuaMacro — Lua как язык макросов
Posted: Wed 05 Nov, 2014 12:12
by John Doe
Из окружения макросов не убирается MenuItem/NoMenuItem
LuaMacro — Lua как язык макросов
Posted: Wed 05 Nov, 2014 12:30
by Shmuel
John Doe wrote:Из окружения макросов не убирается MenuItem/NoMenuItem
Хотя прежде я хотел бы поинтересоваться о предполагаемом назначении этой функциональности.
LuaMacro — Lua как язык макросов
Posted: Tue 17 Feb, 2015 08:21
by Shmuel
John Doe wrote: Может быть стоит распространить это и на режим 0?
Возможно.
John Doe wrote: Хотя прежде я хотел бы поинтересоваться о предполагаемом назначении этой функциональности.
По аналогии с вызовом функции. Передача информации вызывающей функции из вызываемой.
LuaMacro — Lua как язык макросов
Posted: Tue 17 Feb, 2015 09:24
by John Doe
Shmuel wrote: По аналогии с вызовом функции.
Это да, до луа макросы и были вместо функций, но интересно зачем это может понадобиться сейчас.
Напомню, на мантисе есть конфликтующее пожелание: http://bugs.farmanager.com/view.php?id=2391
P.S.
Если рассматривать макросы как функции, то надо им и параметры передавать.
Правда и на этот счёт есть "конфликтующее" пожелание: http://bugs.farmanager.com/view.php?id=2310
╔════════════════════════════════════════════════ Error ════════════════════════════════════════════════╗
║ C:\APPs\Far3\Plugins\LuaMacro\LuaMacro.dll: ║
║ C:\APPs\Far3\Plugins\LuaMacro\utils.lua:528: attempt to index local 'msg' (a nil value) ║
║ stack traceback: ║
║ C:\APPs\Far3\Plugins\LuaMacro\utils.lua:528: in function 'ErrMsgLoad' ║
║ C:\APPs\Far3\Plugins\LuaMacro\utils.lua:653: in function 'LoadRegularFile' ║
║ C:\APPs\Far3\Plugins\LuaMacro\utils.lua:711: in function <C:\APPs\Far3\Plugins\LuaMacro\utils.lua: ║
║ 569> ║
╟───────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ { OK } ║
╚═══════════════════════════════════════════════════════════════════════════════════════════════════════╝
После этого макросы не работают (lm:load не помогает).
LuaMacro — Lua как язык макросов
Posted: Thu 04 Jun, 2015 13:27
by Shmuel
John Doe wrote: После этого макросы не работают (lm:load не помогает).
У меня после устранения ошибки lm:load нормально всё загружает.
Но репорт - валидный, буду смотреть.