1. Это, возможно, lfa_config.
2. У меня не воспроизвелось на Far30b5011.x86.20170821.
Если был сдвиг на одну позицию, ошибка может быть из-за изменений в отсчёте позиции от 0/1.
Такое происходило во время написания скриптов.
Пример: с DM_LISTSETCURPOS может быть проблема в моих пакетах, но я пока не проверял.
[lf4ed] Rh_Scripts — пакет скриптов для LuaFAR for Editor
Posted: Tue 22 Aug, 2017 07:53
by John Doe
Нет, сдвиг не на 1 позицию, левая граница экрана перемещается в позицию курсора, где бы он ни находился.
Я переформулировал по-своему последовательность действий для воспроизведения ошибки, возможно и у вас повторится.
Если нет, то посоветуйте как изолировать источник ошибки (отключить lfa_config целиком, или отдельные скрипты).
[lf4ed] Rh_Scripts — пакет скриптов для LuaFAR for Editor
Posted: Tue 22 Aug, 2017 15:50
by Aidar
John Doe wrote: ↑Tue 22 Aug, 2017 07:53отключить lfa_config целиком
Перенести папку Profile\work\scripts\lfa_config в другое место.
John Doe wrote: ↑Tue 22 Aug, 2017 07:53отдельные скрипты
В конце файла Profile\work\scripts\lfa_config\_usermenu.lua закомментировать строку с MakeResident.
Это отключит обработку событий.
Аналогично, можно отключить такие строки в конце файла Profile\work\scripts\Rh_Scripts\_usermenu.lua
Если установлен fl_scripts, тоже можно отключить в конце файла Profile\work\scripts\fl_scripts\_usermenu.lua
[lf4ed] Rh_Scripts — пакет скриптов для LuaFAR for Editor
Posted: Tue 22 Aug, 2017 16:09
by Aidar
Ошибку воспроизвёл.
Место: Рисование правой границы в редакторе
(файл Profile\work\scripts\lfa_config\editor\vision.lua,
функция lfa_config.drawRightBorder) .
Источник ошибки:
einfo = einfo or editor.GetInfo()
...
editor.SetPosition(nil, einfo)
Какая-то проблема с LeftPos.
Добавил einfo.LeftPos = 1
перед editor.SetPosition(nil, einfo)
Сдвига нет.
Попробовал einfo.LeftPos = einfo.LeftPos
Сдвиг есть.
Возможно, при событии F.EE_REDRAW в поле GetInfo.LeftPos нет значения или оно некорректное.
[lf4ed] Rh_Scripts — пакет скриптов для LuaFAR for Editor
Posted: Tue 22 Aug, 2017 17:26
by John Doe
А для чего вообще требуется позиционировать курсор при рисовании границы?
[lf4ed] Rh_Scripts — пакет скриптов для LuaFAR for Editor
Posted: Tue 22 Aug, 2017 17:53
by Aidar
editor.GetString вызывает смещение позиции (а нужно пройтись по всем видимым строкам файла).
[lf4ed] Rh_Scripts — пакет скриптов для LuaFAR for Editor