View Issue Details

IDProjectCategoryView StatusLast Update
0002900Far ManagerCommand Line/Executepublic2016-02-03 07:36
ReporterJohnDoe Assigned ToDrKnS  
PrioritynormalSeverityminorReproducibilitysometimes
Status closedResolutionfixed 
Product Version3.0 
Fixed in Version3.0 
Summary0002900: Меню из файла-списка: проблема при вызове из User menu
DescriptionСказано: Нажатие Enter на каком-либо пункте меню либо переходит в соответствующий каталог (если он существует), либо копирует текст пункта в командную строку FAR.

Если плагин вызван из User menu, то вставка в командную строку не работает.
Steps To ReproduceДобавляем в пользовательское меню команду tmp:+menu disks.eng.temp
Вызоваем таким образом меню, выбираем пункт "Temporary", жмём Enter.
Можно заметить, как в командной строке на мгновение появляется и пропадает текст.

Если же вызвать плагин просто из командной строки, то текст без проблем вставляется.
Additional Informationhttp://forum.farmanager.com/viewtopic.php?p=110808#p110808
TagsNo tags attached.
Build4525

Activities

shmuel

2015-01-12 22:50

developer   bugnote:0013397

Это сломалось в билде 3196 (в Фаре, а не в плагине).

shmuel

2015-01-12 23:08

developer   bugnote:0013398

Проблема связана с пользовательским меню. Можно воспроизвести и с другим плагином, например LuaFAR for Editor: поместить в пользовательское меню следующую строчку
  lfe:-epanel.SetCmdLine(nil,'abcde')

С LuaMacro это не воспроизведётся, так как запуск функции не немедленный, а отложенный.

shmuel

2015-01-13 17:57

developer   bugnote:0013401

Надо было бы в этом тикете сделать Project=Far Manager, Category=User Menu, но у меня нет полномочий менять Project. Или же можно создать новый тикет с правильными параметрами, и в нём сослаться на данный тикет.

shmuel

2016-01-25 09:21

developer   bugnote:0014234

С LuaMacro тоже можно воспроизвести, с префиксом luas:
luas: panel.SetCmdLine(nil,'abcde')

shmuel

2016-01-25 10:06

developer   bugnote:0014235

Есть ещё одна точка изменения поведения: билд 4330.

Если в 3196 команда lfe:-epanel.SetCmdLine(nil,'abcde') перестала работать из меню пользователя, но продолжала работать из комстроки, то, начиная с 4330, данная команда не работает и непосредственно из комстроки.

DrKnS

2016-01-25 22:44

administrator   bugnote:0014236

По поводу комстроки: поменяйте в plugins.cpp местами строки:
const auto hPlugin = Open(PData->pPlugin, OPEN_COMMANDLINE, FarGuid, (intptr_t)&info);
Global->CtrlObject->CmdLine()->SetString(L"", false);
- и расскажите, не отвалилось ли чего.

По поводу юзерменю: это скорее фича. Старая комстрока запоминается, заменяется строкой из меню, исполняется, старая комстрока восстанавливается.
В вашем случае она была пустой, в пустую и восстановилась.

shmuel

2016-01-27 09:17

developer   bugnote:0014240

Давайте, чтобы не усложнять, вернёмся к формулировке данного тикета, конкретно - "Description", в котором процитирован параграф из справки плагина.

По факту имеем сейчас нарушение обещанной в справке плагина вставки в комстроку, причём как при вызове "меню из файла-списка" из пользовательского меню, так и при прямом его вызове из комстроки. Вот и всё.

Либо надо это поведение править, либо справку плагина.

DrKnS

2016-01-31 21:02

administrator   bugnote:0014263

4525

shmuel

2016-01-31 21:20

developer   bugnote:0014264

4525 вроде работает правильно.

Issue History

Date Modified Username Field Change
2015-01-09 12:01 JohnDoe New Issue
2015-01-12 22:50 shmuel Note Added: 0013397
2015-01-12 23:08 shmuel Note Added: 0013398
2015-01-13 17:57 shmuel Note Added: 0013401
2016-01-25 09:21 shmuel Note Added: 0014234
2016-01-25 10:06 shmuel Note Added: 0014235
2016-01-25 22:44 DrKnS Note Added: 0014236
2016-01-27 09:17 shmuel Note Added: 0014240
2016-01-28 01:43 DrKnS Assigned To => DrKnS
2016-01-28 01:43 DrKnS Status new => assigned
2016-01-31 21:02 DrKnS Note Added: 0014263
2016-01-31 21:02 DrKnS Status assigned => feedback
2016-01-31 21:20 shmuel Note Added: 0014264
2016-02-03 07:35 DrKnS Category Temporary panel => _Common
2016-02-03 07:35 DrKnS Project Plugins => Far Manager
2016-02-03 07:36 DrKnS Category _Common => Command Line/Execute
2016-02-03 07:36 DrKnS Build => 4525
2016-02-03 07:36 DrKnS Status feedback => closed
2016-02-03 07:36 DrKnS Resolution open => fixed
2016-02-03 07:36 DrKnS Fixed in Version => 3.0