Баг выделения в редакторе

Здесь можно сообщить о найденных багах в Far.
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Баг выделения в редакторе

Post by Shmuel »

Баг описан здесь.
Проверка показала, что он начинается с билда 4340.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Баг выделения в редакторе

Post by DrKnS »

Я ничего не понял.jpg
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Баг выделения в редакторе

Post by Shmuel »

Ну надо сделать в точности как описано в том сообщении (я проверял при включенных постоянных блоках).
1-я строка пустая, во 2-й строке 12345 без перевода строки.
Становимся курсором на 1, нажимаем CtrlA ShiftRight.
Вместо сброса выделения и выделения 1 наблюдаем расширение выделения вправо от 5.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Баг выделения в редакторе

Post by DrKnS »

При чём там переводы строк...
Если курсор находится в любом месте внутри выделенного по Ctrl-A блока, то после попыток продолжить выделение начинаются чудеса.
До 4340 всё точно так же.
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Баг выделения в редакторе

Post by Shmuel »

DrKnS wrote: При чём там переводы строк...
Блин, какие мы умные.
Вам предоставили баг-репорт, а не всеобъемлющий анализ происходящего. Для баг-репорта вполне достаточно привести воспроизводимый юз-кейс.
DrKnS wrote: До 4340 всё точно так же.
Да нет, до 4340 данный юз-кейс ведёт себя нормально.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Баг выделения в редакторе

Post by DrKnS »

Shmuel wrote: Блин, какие мы умные.
Да, а что?
Shmuel wrote: до 4340 данный юз-кейс ведёт себя нормально
Т. е. вот это нормально, я правильно понимаю?
Attachments
sel.gif
sel.gif (130.78 KiB) Viewed 5223 times
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Баг выделения в редакторе

Post by Shmuel »

DrKnS wrote: Т. е. вот это нормально, я правильно понимаю?
А причём здесь 4321?
clip-4339.png
clip-4339.png (5.81 KiB) Viewed 5201 times
clip-4340.png
clip-4340.png (5.69 KiB) Viewed 5201 times
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Баг выделения в редакторе

Post by DrKnS »

Shmuel wrote:Проверка показала, что он начинается с билда 4340.
Shmuel wrote: до 4340 данный юз-кейс ведёт себя нормально.
Shmuel wrote: А причём здесь 4321?
А что не так? Я что-то пропустил и теперь 4321 после 4340?
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Баг выделения в редакторе

Post by zg »

Shmuel wrote:А причём здесь 4321?
при том, что где-то между 4321 и 4339 нажатие на shift начало сбрасывать признак продолжения выделения (скорее всего в 4337). т.е. нажали shift, right right, отпустили shift. выделено 2 символа, нажали shift, right — началось новое выделение, а должно продолжится старое. а то что описано в первом посте да, 3 билда оно работало как бы правильно, но не потому, что было правильно реализовано, а потому, что число ошибок было чётным.
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Баг выделения в редакторе

Post by Shmuel »

zg wrote:
Shmuel wrote:А причём здесь 4321?
при том, что где-то между 4321 и 4339 нажатие на shift начало сбрасывать признак продолжения выделения
Люди, будьте проще. Ещё раз, я не претендовал ни на какой анализ механизма или истории этого бага. Всего лишь зарепортил, да ещё и разжевать пришлось.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Баг выделения в редакторе

Post by DrKnS »

Как бы если нет желания или возможности для нормального анализа, то лучше и без него, лишняя информация только отвлекает. См. тему о самых, самых цитатах.

По делу:
Поломано в 4320.
Можно починить как было: курсор остаётся на месте, выделение считается законченным и сбрасывается при попытках продолжить.
Можно сделать иначе: курсор ставим в конец блока и выделение можно продолжать. Так ведут себя все остальные редакторы.

Мне нравится второй вариант.
Denis
Posts: 1444
Joined: Tue 05 Apr, 2005 18:12
Has thanked: 10 times
Been thanked: 5 times

Баг выделения в редакторе

Post by Denis »

+1 за второй вариант
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Баг выделения в редакторе

Post by HaRT »

DrKnS wrote:Можно сделать иначе: курсор ставим в конец блока и выделение можно продолжать. Так ведут себя все остальные редакторы.
Это при любом CtrlA?! Я против. Часто выделяю всё только для того, чтобы скопировать в буфер обмена, а после этого отменяю выделение — и очень не хочется при этом терять текущую позицию каретки.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Баг выделения в редакторе

Post by DrKnS »

Ок, пока вернул, как было.
Denis
Posts: 1444
Joined: Tue 05 Apr, 2005 18:12
Has thanked: 10 times
Been thanked: 5 times

Баг выделения в редакторе

Post by Denis »

А если делать установку курсора после всего текста - будет так?

Code: Select all

--- a/unicode_far/editor.cpp
+++ b/unicode_far/editor.cpp
@@ -4965,6 +4965,9 @@ void Editor::SelectAll()
 	}
 	Lines.back().Select(0, Lines.back().GetLength());
 
+	m_it_CurLine = LastLine();
+	m_it_CurLine->SetCurPos(Lines.back().GetLength());
+
 	TurnOffMarkingBlock();
 
 	Show();
И есть ли в Far'е что-то вроде аналога из VS - View.NavigateBackword (Ctrl-)?
Post Reply

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