View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002692 | Far Manager | Macro | public | 2014-06-05 08:46 | 2023-06-17 21:46 |
Reporter | JohnDoe | Assigned To | vskirdin | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | 3.0 | ||||
Fixed in Version | 3.0 | ||||
Summary | 0002692: Невозможно прервать операцию, если она запущена из макроса | ||||
Description | Практически любую длительную операцию в фаре можно прервать по Esc. Например подсчёт размера папки, подготовку к копированию/удалению/QView папки, и т.п. Но если эта операция запущеа макросом, то прервать её невозможно. | ||||
Steps To Reproduce | lua:mmode(1,0) Keys"F3" | ||||
Additional Information | Это давно известная "особенность" макродвижка, также описана в 0000579 | ||||
Tags | No tags attached. | ||||
Build | 6165 | ||||
|
> lua:mmode(1,0) Keys"F3" В коде Фара специально запрещается обработка клавиш при операциях F3 и CtrlQ, если в данный момент исполняется макрос. См. dirinfo.cpp, строка 160. Если эту строку закомментировать, происходит обычная реакция на нажатие клавиш, в т.ч. Esc. |
|
В 1.64 это условие уже есть. Можно спросить у Рошала (если вспомнит), можно попытаться понять логику, а можно закомментить и подождать... (возможно это условие для нынешнего движка уже лишнее) |
|
Предлагаю закомментить и погонять. |
|
build 3963 |
|
В 3963 не проходит тест test_areas() в luamacro\macrotest.lua. В 3962 это работало. Пока нет времени посмотреть более внимательно. |
|
Видимо вместо GetInputRecordNoMacroArea в "switch" нужно что-то другое вызывать. Не? (ибо GetInputRecordNoMacroArea ставит MACROAREA_LAST) |
|
shmuel У меня в 3964 нет проблем с test_areas() Но попутно обнаружил странное поведение, не связанное с данным тикетом: http://forum.farmanager.com/viewtopic.php?p=120052#p120052 |
|
> У меня в 3964 нет проблем с test_areas() А вы пробовали выполнить тест дважды (или один раз, но чтобы перед запуском теста курсор стоял на ..)? |
|
Действительно, повторяется в случае если курсор на любой папке. |
|
lua:mmode(1,0) Keys"CtrlQ" far.Show(Area.Current) Видим nil, и после вывода подсчёт продолжается. Т.е. проблема в том, что far.Show почему-то выполняется "асинхронно", до открытия панели QView. По ссылке выше очень похожая проблема с Tree. |
|
Откатываю? |
|
Я бы откатил. Скажем, до тех пор, пока не разберёмся полностью. |
|
Можно откатить, для перестраховки. Проблема с CtrlT воспроизводится в любом случае: 0002717 |
|
откат build 3965 |
|
Связанный тикет: 0001793:0007507 |
|
@shmuel Что если предусмотреть некий "асинхронный" режим макроса, при котором бы он не ждал окончания фаровской операции? Управлять с помощью mf.mmode, и/или Keys("async",...) |
|
> Что если предусмотреть некий "асинхронный" режим макроса Я не против :) Можете открыть Issuе здесь. |
|
https://github.com/shmuz/far2m/issues/36 https://github.com/FarGroup/FarManager/pull/706 |
Date Modified | Username | Field | Change |
---|---|---|---|
2014-06-05 08:46 | JohnDoe | New Issue | |
2014-06-06 03:38 | shmuel | Note Added: 0012467 | |
2014-06-10 18:43 | vskirdin | Note Added: 0012501 | |
2014-06-10 19:43 | JohnDoe | Note Added: 0012502 | |
2014-06-25 08:22 | vskirdin | Note Added: 0012547 | |
2014-06-25 08:22 | vskirdin | Assigned To | => vskirdin |
2014-06-25 08:22 | vskirdin | Status | new => feedback |
2014-06-25 18:52 | shmuel | Note Added: 0012559 | |
2014-06-26 08:32 | vskirdin | Note Added: 0012569 | |
2014-06-26 09:42 | JohnDoe | Note Added: 0012575 | |
2014-06-26 09:42 | JohnDoe | Status | feedback => assigned |
2014-06-26 09:42 | JohnDoe | Note Edited: 0012575 | |
2014-06-26 09:46 | shmuel | Note Added: 0012576 | |
2014-06-26 09:50 | JohnDoe | Note Added: 0012577 | |
2014-06-26 09:55 | JohnDoe | Note Added: 0012578 | |
2014-06-26 09:56 | JohnDoe | Note Edited: 0012578 | |
2014-06-26 10:40 | vskirdin | Note Added: 0012579 | |
2014-06-26 10:46 | shmuel | Note Added: 0012580 | |
2014-06-26 10:51 | JohnDoe | Note Added: 0012581 | |
2014-06-26 11:29 | vskirdin | Note Added: 0012582 | |
2014-06-27 12:52 | JohnDoe | Note Edited: 0012581 | |
2015-01-24 19:18 | JohnDoe | Note Added: 0013435 | |
2018-11-15 10:37 | JohnDoe | Relationship added | related to 0000579 |
2018-11-15 10:38 | JohnDoe | Relationship added | related to 0001793 |
2023-06-12 00:20 | JohnDoe | Note Added: 0017441 | |
2023-06-12 06:28 | shmuel | Note Added: 0017442 | |
2023-06-12 09:05 | JohnDoe | Note Added: 0017443 | |
2023-06-15 21:48 | JohnDoe | Note Edited: 0017443 | |
2023-06-17 21:46 | JohnDoe | Status | assigned => closed |
2023-06-17 21:46 | JohnDoe | Resolution | open => fixed |
2023-06-17 21:46 | JohnDoe | Fixed in Version | => 3.0 |
2023-06-17 21:46 | JohnDoe | Build | => 6165 |