View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001561 | Far Manager | Interface | public | 2010-10-30 20:06 | 2013-04-06 08:29 |
Reporter | NightDemon | Assigned To | DrKnS | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | x86 | OS | Windows | OS Version | 7 |
Product Version | 2.0 | ||||
Fixed in Version | 3.0 | ||||
Summary | 0001561: Автозавершение приписывает лишний хвост | ||||
Description | Если у меня в истории команд есть строки ABC и ABCDEF, причем команда ABC была выполнена позднее, то при наборе ABC автозавершение не должно приписывать DEF. Речь идет о командной строке, но то же верно и для всех других текстовых полей с автозавершением. В настройках автозавершения стоит [ ] Показывать список [ ] Модальный режим [x] Подставлять первый подходящий вариант Если включить опцию "Показывать список", то описанной баги не происходит, но список мешает, поэтому хочется, чтобы и без списка работало, как надо. Типичный сценарий: стоит лишь один раз выполнить команду типа hg ci somefile, то всякий раз потом, когда я хочу выполнить просто hg ci, автозавершение подставляет somefile, что очень мешает. Или, допустим, я часто использую некую консольную программу prog. Однажды я ввожу "prog /?", чтоб увидеть справку, и потом всякий раз, когда я ввожу prog<ENTER>, будет выполняться "prog /?", пока я не очищу историю команд. | ||||
Steps To Reproduce | 1. В настройках автозавершение включить опцию "Подставлять первый подходящий вариант" и выключить "Показывать список" 2. Набрать в командной строке abcdef<ENTER> 3. Набрать в командной строке abc<DEL><ENTER> 4. Набрать в командной строке abc Автозавершение подставит def, чего быть, по идее, не должно и что очень мешает. | ||||
Additional Information | FAR 2.0 build 1666 x86 | ||||
Tags | No tags attached. | ||||
Build | 0 | ||||
|
Так ведет себя функция History::GetAllSimilar(). Предлагаемый ниже фикс решает описанную проблему. Index: history.cpp =================================================================== --- history.cpp (revision 5405) +++ history.cpp (working copy) @@ -895,7 +895,7 @@ int Length=StrLength(Str); for (HistoryRecord *HistoryItem=HistoryList.Last();HistoryItem;HistoryItem=HistoryList.Prev(HistoryItem)) { - if (!StrCmpNI(Str,HistoryItem->strName,Length) && StrCmp(Str,HistoryItem->strName)) + if (!StrCmpNI(Str,HistoryItem->strName,Length)) { HistoryMenu.AddItem(HistoryItem->strName); } |
|
в тройке описанной проблемы нет. имхо можно закрыть. |
Date Modified | Username | Field | Change |
---|---|---|---|
2010-10-30 20:06 | NightDemon | New Issue | |
2011-01-07 20:22 | NightDemon | Note Added: 0006072 | |
2013-04-06 04:09 | 2useven10 | Note Added: 0010683 | |
2013-04-06 04:58 | NightDemon | Status | new => resolved |
2013-04-06 08:29 | 2useven10 | Build | => 0 |
2013-04-06 08:29 | 2useven10 | Status | resolved => closed |
2013-04-06 08:29 | 2useven10 | Assigned To | => DrKnS |
2013-04-06 08:29 | 2useven10 | Resolution | open => fixed |
2013-04-06 08:29 | 2useven10 | Fixed in Version | => 3.0 |