pushd <path>: странная реакция на хвостовые пробелы в командной строке

Здесь можно сообщить о найденных багах в Far.
Post Reply
User avatar
Alecsis
Posts: 37
Joined: Wed 29 May, 2013 09:12
Location: Нерезиновск
Has thanked: 3 times
Been thanked: 1 time

pushd <path>: странная реакция на хвостовые пробелы в командной строке

Post by Alecsis »

FAR 3.0.4943 x64
После команды «pushd %WINDIR%» перед нажатием на Enter случайно влепил пробел, получилось вот что :shock:
Image

Без хвостового пробела всё работает нормально.
Провёл серию лабораторных работ:
— запуск FAR'а без плагинов;
— запуск с чистым профилем;
— запуск стабильного build'а 4900;
Во всех перечисленных случаях картина та же самая как под Win7 Pro SP1 x64 (лицензия), так и под WinXP Pro SP3; никаких «левых» макросов нет. В hepl'е нигде явно не сказано, что так делать (т.е. лепить хвостовые пробелы в командную строку) нельзя, да и штатной консоли Windows они по боку. Что характерно, FAR'овская CD относится к ним вполне себе спокойно…

В принципе, оно не смертельно, но таки «осадочек остался» ©
Собсс-но вопрос: это глюк или какая-то глубокая концепция?
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

pushd <path>: странная реакция на хвостовые пробелы в командной строке

Post by HaRT »

Alecsis wrote: получилось вот что
Как правильно делать снимки экрана
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

pushd <path>: странная реакция на хвостовые пробелы в командной строке

Post by zg »

создайте папку «windows » — будет нормальная реакция.
2useven10
Posts: 5204
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

pushd <path>: странная реакция на хвостовые пробелы в командной строке

Post by 2useven10 »

Alecsis wrote: это глюк или какая-то глубокая концепция?
Для командной строки это глюк.
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

pushd <path>: странная реакция на хвостовые пробелы в командной строке

Post by zg »

2useven10 wrote: Для командной строки это глюк.
в чём он заключается? в pushd всё после самой команды - путь, пробелы экранировать кавычками - не обязательно.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

pushd <path>: странная реакция на хвостовые пробелы в командной строке

Post by DrKnS »

zg wrote: в pushd всё после самой команды - путь
Тогда cd, получается, поломан. Чиним?
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

pushd <path>: странная реакция на хвостовые пробелы в командной строке

Post by zg »

получается, что да.
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

pushd <path>: странная реакция на хвостовые пробелы в командной строке

Post by Shmuel »

Имхо, концевые пробелы в комстроке надо убирать.
2useven10
Posts: 5204
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

pushd <path>: странная реакция на хвостовые пробелы в командной строке

Post by 2useven10 »

zg wrote: в чём он заключается?
Если мы эмулируем команду, желательно сохранять совместимость c cmd, если для этого нет серьёзных противопоказаний.
Для сохранения невизуализируемого пробела в конце строки разумных оснований нет.
Если нужен, можно поставить кавычки. А если быть пуристом, то и пробелы перед именем каталога надо сохранять.
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

pushd <path>: странная реакция на хвостовые пробелы в командной строке

Post by zg »

по справке всё, что после команды, трактуется как путь. кавычки не обязательны. так как cmd не поддерживает имена с пробелами на конце, то он их может смело обрезать. фар — поддерживает, никаких разумных оснований обрезать их, учитывая, что всё что после команды путь — я не вижу.
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

pushd <path>: странная реакция на хвостовые пробелы в командной строке

Post by HaRT »

Тогда не помешала бы визуализация пробелов в комстроке — например, такая же, как в полях ввода в диалогах.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

pushd <path>: странная реакция на хвостовые пробелы в командной строке

Post by DrKnS »

2useven10 wrote: пробелы перед именем каталога надо сохранять
Ну как бы да - если сохранять, то везде, если резать - то тоже везде.
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

pushd <path>: странная реакция на хвостовые пробелы в командной строке

Post by Shmuel »

Вероятность ненамеренного ввода пробела в конце не так уж и мала, особенно учитывая, что Far сам вставляет пробел в конце при нажатии CtrlEnter на элементе панели.
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

pushd <path>: странная реакция на хвостовые пробелы в командной строке

Post by zg »

пробелы перед именем каталога — аргумент, тогда действительно можно резать.
Post Reply

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