View Issue Details

IDProjectCategoryView StatusLast Update
0001785Far ManagerCommand Line/Executepublic2011-12-23 11:07
ReporterJohnDoe Assigned Tovskirdin  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Platformx86OSWindows 
Product Version3.0 
Fixed in Version3.0 
Summary0001785: Проблема с запуском если в командной строке присутствует знак "="
DescriptionЕсли после имени запускаемого файла параметры указаны без пробела, и в них присутствует знак "=", то получаем ошибку типа "Системе не удается найти указанный путь."
Steps To ReproduceНапример сравните:
far/m
far/m=

(пример искуственный, для простоты)
Additional InformationПри запуске из диалога "Apply command" проблема не проявляется.
Проблема специфична для far 3
TagsNo tags attached.
Build2198

Activities

vskirdin

2011-09-12 11:42

administrator   bugnote:0007660

как то не получается повторить.

JohnDoe

2011-09-12 14:06

updater   bugnote:0007668

Запускаем свежий фар 3 (я использовал http://conemu-maximus5.googlecode.com/files/far3.2194bis.x86.x64.7z)
В командной строке набираем far/m=, и наживаем Enter.

Arty

2011-09-12 14:45

reporter   bugnote:0007670

Свежий FAR 3.0 build 2197 x86 - повторяется. (OS: Windows 7 Ultimate SP1 x64)

DrKnS

2011-09-12 16:35

administrator   bugnote:0007675

А где вообще обещана поддержка подобного изврата?

far/m= - это "запустить 'm=.exe' из подкаталога './far'".

Пользуйтесь пробелами.

JohnDoe

2011-09-12 16:45

updater   bugnote:0007676

Last edited: 2011-09-12 16:56

View 4 revisions

Изврат вполне поддерживается, если только не содержит "="
Пример: far/m

При этом:
"=" работает в "Apply to"
"=" отвалилось в тройке (в двойке работает).

P.S.
Это "=" раз в 100 лет встречается. Настораживает не то, что оно не работает, а то, что фар его непоследовательно обрабатывает.

JohnDoe

2011-09-12 16:57

updater   bugnote:0007677

Last edited: 2011-09-12 17:02

View 3 revisions

"far/m" и "far.exe/m" срабатывают как положено.
"far/m=" и "far.exe/m=" не срабатывают.

При запуске "far.exe/m=":
- если в текущей папке присутствует файл "far.exe", то получаем ошибку "Неверно задано имя папки."
- если в текущей папке отсутствует файл "far.exe", то получаем ошибку "Системе не удается найти указанный путь."

2useven10

2011-09-12 19:57

developer   bugnote:0007686

'Изврат' соответствует поведению cmd.exe

vskirdin

2011-09-13 06:57

administrator   bugnote:0007689

Hint:
execute.cpp::строка 1002 и ниже.

2useven10

2011-09-13 10:29

developer   bugnote:0007690

хинт неверный - причина в изменённом PartCmdLine

2useven10

2011-09-13 11:02

developer   bugnote:0007691

Last edited: 2011-09-13 11:07

View 2 revisions

Revision: 5755 Author: drkns Date: 22:35:02, 24 февраля 2011 г. Message: exec
Из PartCmdLine() выкинута проверка на '/', после вызова добалена проверка:
если параметр не отделили - включить режим DirectRun.

Revision: 5781 Author: drkns Date: 11:24:43, 8 марта 2011 г. Message: fix 1892.1
Включение DirectRun закомментировано.

2useven10

2011-09-13 11:29

developer  

SlashSeparator.diff (656 bytes)   
Index: execute.cpp
===================================================================
--- execute.cpp	(revision 6707)
+++ execute.cpp	(working copy)
@@ -752,6 +752,7 @@
 			        *CmdPtr == L'<' ||
 			        *CmdPtr == L'|' ||
 			        *CmdPtr == L' ' ||
+			        *CmdPtr == L'/' || // ������� "far.exe/?"
 			        *CmdPtr == L'&'    // ���������� ���������� ������
 			   )
 			{
@@ -824,13 +825,6 @@
 	string strNewCmdPar;
 	PartCmdLine(CmdStr, strNewCmdStr, strNewCmdPar);
 
-	/*
-	if(strNewCmdPar.IsEmpty())
-	{
-		DirectRun = true;
-	}
-	*/
-
 	DWORD dwAttr = apiGetFileAttributes(strNewCmdStr);
 
 	if(RunAs)
SlashSeparator.diff (656 bytes)   

vskirdin

2011-09-13 12:28

administrator   bugnote:0007695

build 2198

Issue History

Date Modified Username Field Change
2011-05-26 17:42 JohnDoe New Issue
2011-09-12 11:42 vskirdin Note Added: 0007660
2011-09-12 14:06 JohnDoe Note Added: 0007668
2011-09-12 14:45 Arty Note Added: 0007670
2011-09-12 16:35 DrKnS Note Added: 0007675
2011-09-12 16:45 JohnDoe Note Added: 0007676
2011-09-12 16:47 JohnDoe Note Edited: 0007676 View Revisions
2011-09-12 16:52 JohnDoe Note Edited: 0007676 View Revisions
2011-09-12 16:56 JohnDoe Note Edited: 0007676 View Revisions
2011-09-12 16:57 JohnDoe Note Added: 0007677
2011-09-12 17:01 JohnDoe Note Edited: 0007677 View Revisions
2011-09-12 17:02 JohnDoe Note Edited: 0007677 View Revisions
2011-09-12 19:57 2useven10 Note Added: 0007686
2011-09-13 06:57 vskirdin Note Added: 0007689
2011-09-13 10:29 2useven10 Note Added: 0007690
2011-09-13 11:02 2useven10 Note Added: 0007691
2011-09-13 11:07 2useven10 Note Edited: 0007691 View Revisions
2011-09-13 11:29 2useven10 File Added: SlashSeparator.diff
2011-09-13 12:28 vskirdin Note Added: 0007695
2011-09-13 12:28 vskirdin Assigned To => vskirdin
2011-09-13 12:28 vskirdin Status new => feedback
2011-12-23 11:07 alexy Build => 2198
2011-12-23 11:07 alexy Status feedback => closed
2011-12-23 11:07 alexy Resolution open => fixed
2011-12-23 11:07 alexy Fixed in Version => 3.0