View Issue Details

IDProjectCategoryView StatusLast Update
0002692Far ManagerMacropublic2023-06-17 20:46
ReporterJohnDoe Assigned Tovskirdin  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version3.0 
Fixed in Version3.0 
Summary0002692: Невозможно прервать операцию, если она запущена из макроса
DescriptionПрактически любую длительную операцию в фаре можно прервать по Esc.
Например подсчёт размера папки, подготовку к копированию/удалению/QView папки, и т.п.

Но если эта операция запущеа макросом, то прервать её невозможно.
Steps To Reproducelua:mmode(1,0) Keys"F3"
Additional InformationЭто давно известная "особенность" макродвижка, также описана в 0000579
TagsNo tags attached.
Build6165

Relationships

related to 0000579 assignedvskirdin Far Manager Неполадки при операциях фара (таких как копирование), запущенных из макроса 
related to 0001793 closedvskirdin Wishes Разрешить прерывание макроса по CtrlBreak во время "визуальных" функций 

Activities

shmuel

2014-06-06 02:38

developer   bugnote:0012467

> lua:mmode(1,0) Keys"F3"

В коде Фара специально запрещается обработка клавиш при операциях F3 и CtrlQ, если в данный момент исполняется макрос. См. dirinfo.cpp, строка 160. Если эту строку закомментировать, происходит обычная реакция на нажатие клавиш, в т.ч. Esc.

vskirdin

2014-06-10 17:43

administrator   bugnote:0012501

В 1.64 это условие уже есть.
Можно спросить у Рошала (если вспомнит), можно попытаться понять логику, а можно закомментить и подождать...
(возможно это условие для нынешнего движка уже лишнее)

JohnDoe

2014-06-10 18:43

updater   bugnote:0012502

Предлагаю закомментить и погонять.

vskirdin

2014-06-25 07:22

administrator   bugnote:0012547

build 3963

shmuel

2014-06-25 17:52

developer   bugnote:0012559

В 3963 не проходит тест test_areas() в luamacro\macrotest.lua.
В 3962 это работало.
Пока нет времени посмотреть более внимательно.

vskirdin

2014-06-26 07:32

administrator   bugnote:0012569

Видимо вместо GetInputRecordNoMacroArea в "switch" нужно что-то другое вызывать. Не?
(ибо GetInputRecordNoMacroArea ставит MACROAREA_LAST)

JohnDoe

2014-06-26 08:42

updater   bugnote:0012575

Last edited: 2014-06-26 08:42

shmuel
У меня в 3964 нет проблем с test_areas()
Но попутно обнаружил странное поведение, не связанное с данным тикетом: http://forum.farmanager.com/viewtopic.php?p=120052#p120052

shmuel

2014-06-26 08:46

developer   bugnote:0012576

> У меня в 3964 нет проблем с test_areas()

А вы пробовали выполнить тест дважды (или один раз, но чтобы перед запуском теста курсор стоял на ..)?

JohnDoe

2014-06-26 08:50

updater   bugnote:0012577

Действительно, повторяется в случае если курсор на любой папке.

JohnDoe

2014-06-26 08:55

updater   bugnote:0012578

Last edited: 2014-06-26 08:56

lua:mmode(1,0) Keys"CtrlQ" far.Show(Area.Current)
Видим nil, и после вывода подсчёт продолжается.
Т.е. проблема в том, что far.Show почему-то выполняется "асинхронно", до открытия панели QView.
По ссылке выше очень похожая проблема с Tree.

vskirdin

2014-06-26 09:40

administrator   bugnote:0012579

Откатываю?

shmuel

2014-06-26 09:46

developer   bugnote:0012580

Я бы откатил. Скажем, до тех пор, пока не разберёмся полностью.

JohnDoe

2014-06-26 09:51

updater   bugnote:0012581

Last edited: 2014-06-27 11:52

Можно откатить, для перестраховки.
Проблема с CtrlT воспроизводится в любом случае: 0002717

vskirdin

2014-06-26 10:29

administrator   bugnote:0012582

откат build 3965

JohnDoe

2015-01-24 19:18

updater   bugnote:0013435

Связанный тикет: 0001793:0007507

JohnDoe

2023-06-11 23:20

updater   bugnote:0017441

@shmuel
Что если предусмотреть некий "асинхронный" режим макроса, при котором бы он не ждал окончания фаровской операции?
Управлять с помощью mf.mmode, и/или Keys("async",...)

shmuel

2023-06-12 05:28

developer   bugnote:0017442

> Что если предусмотреть некий "асинхронный" режим макроса
Я не против :)
Можете открыть Issuе здесь.

JohnDoe

2023-06-12 08:05

updater   bugnote:0017443

Last edited: 2023-06-15 20:48

https://github.com/shmuz/far2m/issues/36
https://github.com/FarGroup/FarManager/pull/706

Issue History

Date Modified Username Field Change
2014-06-05 07:46 JohnDoe New Issue
2014-06-06 02:38 shmuel Note Added: 0012467
2014-06-10 17:43 vskirdin Note Added: 0012501
2014-06-10 18:43 JohnDoe Note Added: 0012502
2014-06-25 07:22 vskirdin Note Added: 0012547
2014-06-25 07:22 vskirdin Assigned To => vskirdin
2014-06-25 07:22 vskirdin Status new => feedback
2014-06-25 17:52 shmuel Note Added: 0012559
2014-06-26 07:32 vskirdin Note Added: 0012569
2014-06-26 08:42 JohnDoe Note Added: 0012575
2014-06-26 08:42 JohnDoe Status feedback => assigned
2014-06-26 08:42 JohnDoe Note Edited: 0012575
2014-06-26 08:46 shmuel Note Added: 0012576
2014-06-26 08:50 JohnDoe Note Added: 0012577
2014-06-26 08:55 JohnDoe Note Added: 0012578
2014-06-26 08:56 JohnDoe Note Edited: 0012578
2014-06-26 09:40 vskirdin Note Added: 0012579
2014-06-26 09:46 shmuel Note Added: 0012580
2014-06-26 09:51 JohnDoe Note Added: 0012581
2014-06-26 10:29 vskirdin Note Added: 0012582
2014-06-27 11: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-11 23:20 JohnDoe Note Added: 0017441
2023-06-12 05:28 shmuel Note Added: 0017442
2023-06-12 08:05 JohnDoe Note Added: 0017443
2023-06-15 20:48 JohnDoe Note Edited: 0017443
2023-06-17 20:46 JohnDoe Status assigned => closed
2023-06-17 20:46 JohnDoe Resolution open => fixed
2023-06-17 20:46 JohnDoe Fixed in Version => 3.0
2023-06-17 20:46 JohnDoe Build => 6165