View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0001561 | Far Manager | Interface | public | 2010-10-30 19:06 | 2013-04-06 07: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 19:06 | NightDemon | New Issue | |
| 2011-01-07 20:22 | NightDemon | Note Added: 0006072 | |
| 2013-04-06 03:09 | 2useven10 | Note Added: 0010683 | |
| 2013-04-06 03:58 | NightDemon | Status | new => resolved |
| 2013-04-06 07:29 | 2useven10 | Build | => 0 |
| 2013-04-06 07:29 | 2useven10 | Status | resolved => closed |
| 2013-04-06 07:29 | 2useven10 | Assigned To | => DrKnS |
| 2013-04-06 07:29 | 2useven10 | Resolution | open => fixed |
| 2013-04-06 07:29 | 2useven10 | Fixed in Version | => 3.0 |