View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001663 | Far Manager | Macro | public | 2011-01-15 22:36 | 2013-06-03 13:30 |
Reporter | Raistlin | Assigned To | shmuel | ||
Priority | normal | Severity | major | Reproducibility | have not tried |
Status | closed | Resolution | fixed | ||
Platform | x86 | OS | Windows | OS Version | XP SP3 |
Fixed in Version | 3.0 | ||||
Summary | 0001663: Не работают макросы из user menu при большом количестве объектов на панели | ||||
Description | Выполняем в тестовой папке команду: for /l %A in (1,1,3000) do @copy nul File%A Выделяем первые два файла, запускаем из user menu макрос: macro:post $Rep (APanel.SelCount) panel.setposidx(0,1,1) print("echo " + APanel.Current) Enter panel.select(0,0,1) $End Получаем дулю. | ||||
Tags | No tags attached. | ||||
Build | 3431 | ||||
|
Кстати, сделал [x] Отключать автообновление панелей, если объектов больше 100 Никакой разницы. |
|
"Дуля" это про что? Что должно было быть (ожидается), что стало (получилось)? |
|
Ожидалось последовательное выполнение команд: echo File1 echo File10 На деле не выполняется ничего (в Far2). В Far3 все нормально. |
|
Ан нет, и в Far3 есть проблема. При 100 000 файлах в папке команды не выполняются, выделение с файлов не снимается. |
|
наверное мы не договоримся, т.к. у мя все пашет. и, наверное, придется жука искать тебе ;-) |
|
У меня стабильно воспроизводится при отсутствии плагинов, кроме FarCmds с враппером (far3.2223bis2.x86.x64.7z + Far3Wrap.1.20.(2204).7z, все брал на http://code.google.com/p/conemu-maximus5/downloads/list). Проблема определенно в перечитывании панели - в тройке оно сильно оптимизировано, что видно невооруженным глазом, и поэтому для бага требуется куда больше файлов. Машина у меня относительно медленная (C2D 6300 @ 2,51 ГГц), так что, возможно, тебе надо еще количество файлов увеличить в 2-3 раза, чтоб ее увидеть. |
|
FAR 3.0 build 2223 x86, Windows 7 Ultimate x64 SP1 - не воспроизводится. Макрос из юзер меню дико тормозит при 30000 файлов, но работает. |
|
Не повторяется. Может что-то от настроек фара/панелей зависит? Выложи файлы профиля. |
|
Настройки все дефолтные - это просто, так как в боевых условиях пока использую Far2. Только что удалил профиль и перепроверил - воспроизводится. Выделение не снимается, позиция курсора не меняется, сообщений в консоли нет. Вопрос к тестирующим: вы все точно вопроизводите? Количество файлов (намек Arty), запуск команды из user menu? Из комстроки и у меня работает. Вот это непонятно: > Макрос из юзер меню дико тормозит при 30000 файлов, но работает У меня не тормозит (только обычный лаг от перечитывания панели). И не работает. |
|
Да, чет я про usermenu упустил. Из него - повторяется. |
|
3427. |
|
К сожалению, я совершенно не разбираюсь в новом макроязыке, поэтому проверить не могу. Старый макрос выдает у меня: "unexpected symbol near '$'". |
|
В данном случае мало чем отличается от исходного макроса, проверяйте: macro:post for k=1,APanel.SelCount do Panel.SetPosIdx(0,1,1) print("echo " .. APanel.Current) Keys"Enter" Panel.Select(0,0,1) end |
|
Попробовал. Ошибка не воспроизводится. Попробовал на билде 3363 - тоже. То ли это пофиксили раньше (но тогда что вы фиксили сейчас?), то ли дело в более быстрой конфигурации. Увеличил число файлов до 300000, но это вообще мрак - постоянные перечитывания панели при любом нажатии на клавиши, даже на простую стрелку вниз. Что, наверное, тоже баг. Попробую найти машину помедленнее. |
|
> Попробовал. Ошибка не воспроизводится. Попробовал на билде 3363 - тоже. > То ли это пофиксили раньше (но тогда что вы фиксили сейчас?), то ли дело > в более быстрой конфигурации. У меня дешёвый компьютер 3-летней давности. Ошибка воспроизводилась хорошо в папке со 100 тыс. файлов. После билда 3427 - больше не воспроизводится (пробовал со 100 тыс. и со 150 тыс. файлов). > Увеличил число файлов до 300000, но это вообще мрак - постоянные > перечитывания панели при любом нажатии на клавиши, даже на простую стрелку > вниз. Что, наверное, тоже баг. Поскольку у меня такого эффекта не наблюдается, осмелюсь предположить, что эти перечитывания у вас при любом нажатии на клавиши - дело рук какого-то установленного макроса или плагина. |
|
У меня постарше будет. Снизил частоту своего C2D до 1600 МГц - все равно не повторяется на 3363. Ну, и на 3428 тоже. Не знаю... |
|
На 200 000 - ОК. |
|
Причина проблем 0001662 и 0001663 - это то, что исполняемый макрос вмешивается в процесс перечитывания панелей Фаром, нарушая этот процесс. Это происходит, когда Фар проверяет, не нажал ли пользователь Esc во время перечитывания (что видимо реализовано криво). Исправление состояло в приостановке исполнения макросов на время проверки нажатия пользователем Esc. |
Date Modified | Username | Field | Change |
---|---|---|---|
2011-01-15 22:36 | Raistlin | New Issue | |
2011-01-15 22:38 | Raistlin | Note Added: 0006122 | |
2011-10-12 09:10 | vskirdin | Note Added: 0007864 | |
2011-10-18 18:19 | Raistlin | Note Added: 0007903 | |
2011-10-18 18:19 | Raistlin | Status | new => resolved |
2011-10-18 19:42 | Raistlin | Note Added: 0007905 | |
2011-10-18 19:42 | Raistlin | Status | resolved => assigned |
2011-10-19 07:23 | vskirdin | Note Added: 0007908 | |
2011-10-19 08:21 | Raistlin | Note Added: 0007909 | |
2011-10-19 15:07 | Arty | Note Added: 0007911 | |
2011-10-20 08:25 | Maximus | Note Added: 0007924 | |
2011-10-20 14:48 | Raistlin | Note Added: 0007933 | |
2011-10-20 19:15 | Maximus | Note Added: 0007935 | |
2013-04-10 09:27 | alexy | Status | assigned => new |
2013-05-26 16:46 | shmuel | Note Added: 0011031 | |
2013-05-26 16:46 | shmuel | Assigned To | => shmuel |
2013-05-26 16:46 | shmuel | Status | new => feedback |
2013-05-27 10:23 | Raistlin | Note Added: 0011034 | |
2013-05-27 10:23 | Raistlin | Status | feedback => assigned |
2013-05-27 10:41 | shmuel | Note Added: 0011035 | |
2013-05-27 10:41 | shmuel | Status | assigned => feedback |
2013-05-28 21:25 | Raistlin | Note Added: 0011041 | |
2013-05-28 21:25 | Raistlin | Status | feedback => assigned |
2013-05-28 23:42 | shmuel | Note Added: 0011043 | |
2013-05-28 23:43 | shmuel | Status | assigned => feedback |
2013-06-02 22:17 | Raistlin | Note Added: 0011067 | |
2013-06-02 22:17 | Raistlin | Status | feedback => assigned |
2013-06-02 23:15 | Raistlin | Note Added: 0011069 | |
2013-06-02 23:15 | Raistlin | Status | assigned => resolved |
2013-06-03 13:30 | shmuel | Build | => 3431 |
2013-06-03 13:30 | shmuel | Note Added: 0011081 | |
2013-06-03 13:30 | shmuel | Status | resolved => closed |
2013-06-03 13:30 | shmuel | Resolution | open => fixed |
2013-06-03 13:30 | shmuel | Fixed in Version | => 3.0 |