ошибка позиционирования курсора при удалении записей в истории команд с фильтром (b5904)

Здесь можно сообщить о найденных багах в Far.
Post Reply
ivank
Posts: 151
Joined: Fri 08 Aug, 2008 16:14
Has thanked: 3 times
Been thanked: 4 times
Contact:

ошибка позиционирования курсора при удалении записей в истории команд с фильтром (b5904)

Post by ivank »

В build 5904 появилась ошибка позиционирования курсора после удаления отдельных записей (shift+del) в длинной истории команд при наложенном фильтре (ctrl+alt+f). Если история команд короткая (полностью помещается на экране), то позиционирование работает правильно.
Для воспроизведения необходима достаточно длинная история команд в разных датах.
Для примера скрипт, заполняющий историю (скрипт предварительно очищает таблицу history - нельзя запускать на рабочем профиле!):

Далее в фаре можно воспользоваться макросом: Keys("AltF8 CtrlAltF 1 ShiftDel")
Т.е. вызвать историю, наложить фильтр "1" и удалить последнюю запись. Курсор должен переключиться на предыдущую запись (последнюю в списке), но переключается на первую.
OS: win10 1809, настройки консоли: legacy console, screen buffer 120x9001, window size 120x30
Far30b5904.x64.20211019.7z - ошибка, курсор на первой записи истории:

Far30b5901.x64.20211008.7z - ok, курсор на последней записи истории:
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

ошибка позиционирования курсора при удалении записей в истории команд с фильтром (b5904)

Post by HaRT »

Спасибо, что локализовали эту ошибку и нашли столь узкий диапазон регрессии!
Поскольку надеяться на скорое исправление ошибки в самом Фаре не приходится, то предлагаю исправление , которым пользуюсь сам.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

ошибка позиционирования курсора при удалении записей в истории команд с фильтром (b5904)

Post by HaRT »

вариант, в котором устранён прыжок в конец при удалении первого (самого раннего) элемента истории, привнесённый первоначальной версией скрипта.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Post Reply

Return to “Глюки и баги”