Ассоциации exe-файлов по Enter в FAR b4747

Здесь можно сообщить о найденных багах в Far.
Post Reply
BreakPointMAN
Posts: 15
Joined: Mon 27 Jul, 2009 14:00
Has thanked: 2 times

Ассоциации exe-файлов по Enter в FAR b4747

Post by BreakPointMAN » Wed 03 Aug, 2016 04:41

Сразу к сути.
Есть ассоциация:

Code: Select all

╔═════════════════ Редактирование ассоциаций файлов
║ Одна или несколько масок файлов:
║ *.exe,*.dll
║ Описание ассоциации:
║ bla-bla
╟──────────────────────────────────────────────────
║ [x] Команда, выполняемая по Enter:
║     "C:\fooFolder\barProgram.exe" "!\!.!"
Есть папка с файлами:

Code: Select all

╔═══════════════════════════════════ C:\test
║и                Имя                  │
║..                                    │
║test.dll                              │
║test.exe                              │
║                                      │

В старых версиях FAR (по крайней мере до build 4545, который у меня стоял последним) поведение по <Enter> на файлах было логичным:

Code: Select all

C:\test>"C:\fooFolder\barProgram.exe" "C:\test\test.dll"

C:\test>"C:\fooFolder\barProgram.exe" "C:\test\test.exe"

В последней стабильной версии (build 4747) поведение изменилось:

Code: Select all

C:\test>"C:\fooFolder\barProgram.exe" "C:\test\test.dll"
C:\test>"C:\fooFolder\barProgram.exe" "C:\fooFolder\barProgram.exe" "C:\test\test.dll"

C:\test>"C:\fooFolder\barProgram.exe" "C:\test\test.exe"
C:\test>"C:\fooFolder\barProgram.exe" "C:\fooFolder\barProgram.exe" "C:\test\test.exe"
В результате происходит совсем не то, что ожидалось. Это баг или фича?
P.S. На вопросы - зачем такие извращения? и т.п. - отвечу: было удобно в ряде случаев, для запуска через wrapper, например.

User avatar
DrKnS
Posts: 4648
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 4 times
Been thanked: 125 times
Contact:

Ассоциации exe-файлов по Enter в FAR b4747

Post by DrKnS » Wed 03 Aug, 2016 07:54

Это такая экспериментальная фича в запускателе.
Мы подумаем, что можно сделать, а пока что можно:
- запускать по Shift-Enter;
- вызывать вместо barProgram.exe barProgram.сmd, внутри которого barProgram.exe %*
- переименовать barProgram.exe в barProgram.com

User avatar
John Doe
Бюрократ
Posts: 11429
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 17 times
Been thanked: 101 times

Ассоциации exe-файлов по Enter в FAR b4747

Post by John Doe » Fri 22 Sep, 2017 14:35

DrKnS wrote:
Wed 03 Aug, 2016 07:54
Мы подумаем, что можно сделать
Вероятно, ещё не подумали, потому что вот такая ассоциция на *.exe cmd /c "!\!.!" при попытке запуска sqlite3.exe приводит к неожиданному результату:

Code: Select all

C:\APPs\Far3>cmd /c "C:\APPs\Far3\sqlite3.exe"
C:\APPs\Far3>cmd /c "C:\WINDOWS\system32\cmd.EXE" /c "C:\APPs\Far3\sqlite3.exe"
Синтаксическая ошибка в имени файла, имени папки или метке тома.
На мантис?
Update
http://bugs.farmanager.com/view.php?id=3513
Last edited by John Doe on Thu 05 Oct, 2017 15:51, edited 1 time in total.

eugene128
Posts: 7
Joined: Thu 24 Aug, 2017 06:43

Ассоциации exe-файлов по Enter в FAR b4747

Post by eugene128 » Thu 28 Sep, 2017 06:46

эта фича привела к тому, что команды дублируются. Например - добавив ассоциацию какому-то типу файлов, нажав Enter и выбрав "open external" в результате получим снова диалог "Выберите ассоциацию".

User avatar
John Doe
Бюрократ
Posts: 11429
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 17 times
Been thanked: 101 times

Ассоциации exe-файлов по Enter в FAR b4747

Post by John Doe » Thu 05 Oct, 2017 15:53

eugene128, расскажите как повторить.

eugene128
Posts: 7
Joined: Thu 24 Aug, 2017 06:43

Ассоциации exe-файлов по Enter в FAR b4747

Post by eugene128 » Mon 09 Oct, 2017 02:17

John Doe,
назначаем какомe-то типу ассоциацию "Команда, выполняемая по Enter". Любую, неважно какую команду.
Нажимаем enter на файле выбранного типа. Видим меню
╔═ Выберите ассоциацию ══╗
║ open external ║
║ наша команда ║
╚══════════════════╝
После выбора 'open external' это меню выводится второй раз.

eugene128
Posts: 7
Joined: Thu 24 Aug, 2017 06:43

Ассоциации exe-файлов по Enter в FAR b4747

Post by eugene128 » Mon 09 Oct, 2017 02:31

на Far30b5062.x86.20171008 то же самое, только вывод в консоль не дублируется.

User avatar
John Doe
Бюрократ
Posts: 11429
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 17 times
Been thanked: 101 times

Ассоциации exe-файлов по Enter в FAR b4747

Post by John Doe » Mon 09 Oct, 2017 07:14

eugene128 wrote:
Mon 09 Oct, 2017 02:17
open external ║
Вот этого пункта у меня нет, и я не помню какая опция за него вообще отвечает. В справке по ассоциациям нет.

eugene128
Posts: 7
Joined: Thu 24 Aug, 2017 06:43

Ассоциации exe-файлов по Enter в FAR b4747

Post by eugene128 » Mon 09 Oct, 2017 07:52

John Doe, действительно, эта команда только в моем конфиге, прошу прощения.
На самом деле причина не в ней, а в том что в ассоциациях файлов команды вида "!.!" или `"!.!" args` выполняются дважды. Если у файла только 1 ассоциированная команда - этого не заметно.
Last edited by eugene128 on Mon 09 Oct, 2017 07:53, edited 1 time in total.

Post Reply

Return to “Глюки и баги”