Такая же ошибка: 0. Запускаем Фар без прочих макросов и плагинов (только LuaMacro). 1. Открываем на редактирование какой-нибудь текстовый файл (например, [b][i]%FarHome%\File_id.diz[/i][/b]), включаем в нём подсветку ошибок. 2. Переходим в панели ([b]F12 1[/b]) и выполняем из командной строки какую-нибудь команду (например, cd).
Внезапно получаем
╔══════════════════════════════════════════════════ Error ═══════════════════════════════════════════════════╗
║ C:\Program Files (x86)\Far Manager\Plugins\LuaMacro\LuaMacro.dll: ║
║ ...ming\Far Manager\Profile\Macros\scripts\Editor_Spell.lua:192: attempt to index local 'ei' (a nil value) ║
║ stack traceback: ║
║ ...ming\Far Manager\Profile\Macros\scripts\Editor_Spell.lua:192: in function 'CheckSpellAll' ║
║ ...ming\Far Manager\Profile\Macros\scripts\Editor_Spell.lua:226: in function 'action' ║
║ ...ogram Files (x86)\Far Manager\Plugins\LuaMacro\utils.lua:192: in function <...ogram Files (x86)\Far ║
║ Manager\Plugins\LuaMacro\utils.lua:165> ║
╟────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ { OK } ║
╚════════════════════════════════════════════════════════════════════════════════════════════════════════════╝
(номера строк слегка отличаются из-за добавленного локально комментария), притом трижды подряд.
Ту же ошибку получаем, если при включенной подсветке ошибок закрываем редактор и пытаемся открыть снова (неважно, с тем же самым файлом или с другим), — но тут уже единожды. Far Manager, version 3.0 (build 4695) x86
Добавление в начало ф-ии CheckSpellAll(ei) строки if not ei then return end вроде бы устраняет ошибку. Вообще же предлагаю
-- 1. dll от проекта http://nhunspell.sourceforge.net/
-- отсюда http://sourceforge.net/projects/nhunspell/files/ берётся архив с последней версией и из него нужны либо Hunspellx86.dll, либо Hunspellx64.dll.
-- именно эти dll чисто нативные, никакого .net-а в них нет. положить их нужно куда-нибудь, откуда они загрузятся, например в папку с фаром.
@@ -69,7 +70,7 @@ local function Init()
Init=function() end
end
-function GetData(id)
+local function GetData(id)
local data=editors[id]
if not data then
editors[id]={start=0,finish=-1}
@@ -124,7 +125,7 @@ local function ShowMenu(strings,wordLen)
...\Roaming\Far Manager\Profile\Macros\modules\hunspell.lua:198: cannot resolve symbol 'Hunspell_create': The specified procedure could not be
found.♪
stack traceback:
[C]: in function '__index'
...\Roaming\Far Manager\Profile\Macros\modules\hunspell.lua:198: in function 'new'
...Far Manager\Profile\Macros\scripts\LuaSpell\LuaSpell.lua:215: in function 'NewHunspell'
...Far Manager\Profile\Macros\scripts\LuaSpell\LuaSpell.lua:238: in function 'InitHunspell'
...Far Manager\Profile\Macros\scripts\LuaSpell\LuaSpell.lua:324: in function 'InitDictionary'
...Far Manager\Profile\Macros\scripts\LuaSpell\LuaSpell.lua:351: in function 'Init'
...Far Manager\Profile\Macros\scripts\LuaSpell\LuaSpell.lua:468: in function <...Far Manager\Profile\Macros\scripts\LuaSpell\LuaSpell.lua:462>
══ C:\Users\Volodya\AppData\Roaming\Far Manager\Profile\Macros\modules ═6:49 P
n Name │ Size │ Date │Time
.. │ Up │07/22/16│18:11
SimSU │Folder│06/27/15│10:45
date lua│ 33612│06/02/16│06:53
hunspell lua│ 6499│06/15/16│09:03
macroEx lua│ 2010│07/21/14│06:12
userdict lua│ 2658│06/15/16│09:51