непрошенные кавычки

Здесь можно сообщить о найденных багах в Far.
ccaid
Posts: 908
Joined: Fri 12 Jun, 2009 16:04
Has thanked: 24 times
Been thanked: 6 times

непрошенные кавычки

Post by ccaid »

ориентировочно в билдах 4521/4523, изменено поведение функций APanel.UNCPath, PPanel.UNCPath (а может и ещё каких).
если в пути есть пробел, то путь обкавычивается. раньше такого не было.
поведение ломает макросы и ничем не оправдано. в макросах кавычки не нужны, а перед выходом "вовне", ничто не мешает добавить кавычки по потребности.

для проверки и исследований можно использовать в комстроке:
lua:msgbox(APanel.UNCPath,PPanel.UNCPath)
Фар делают добрые люди
User avatar
cmd.exe
Posts: 378
Joined: Fri 16 Apr, 2010 18:26
Location: Нижний Новгород
Has thanked: 181 times
Been thanked: 10 times
Contact:

непрошенные кавычки

Post by cmd.exe »

Данное поведение мне нравится. Вот настройку данного поведения-бы добавить неплохо.
I've been using Vim for about 2 years now, mostly because I can't figure out how to exit it. (c) I Am Devloper
I know nothing except the fact of my ignorance. (с) Socrates
ccaid
Posts: 908
Joined: Fri 12 Jun, 2009 16:04
Has thanked: 24 times
Been thanked: 6 times

непрошенные кавычки

Post by ccaid »

cmd.exe wrote: Данное поведение мне нравится.
мне нужен путь к текущему файлу, и я пишу:
lua:msgbox(APanel.UNCPath..'\\'..Apanel.Current,'')
получаю, что-то типа
"C:\Program Files"\desktop.ini
чем именно нравится кавычка внутри пути?
напоминаю, речь идёт о макросах, а команду я приводил для иллюстрации и быстрой проверки.
Фар делают добрые люди
2useven10
Posts: 5211
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

непрошенные кавычки

Post by 2useven10 »

4556
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

непрошенные кавычки

Post by Shmuel »

ccaid wrote: напоминаю, речь идёт о макросах, а команду я приводил для иллюстрации и быстрой проверки.
По сути с вами согласен, а для быстрой проверки с комстроки лучше использовать =, при этом аргументов может быть и больше двух, и не надо скобок:
lua:=APanel.UNCPath,PPanel.UNCPath
2useven10
Posts: 5211
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

непрошенные кавычки

Post by 2useven10 »

Способ получения Panel.UNCPath очень нетривиален.
2useven10
Posts: 5211
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

непрошенные кавычки

Post by 2useven10 »

Кстати, 'C:' в корне диска это правильно ?
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

непрошенные кавычки

Post by Shmuel »

Это ещё с Far 1.7 так выдаёт. Лучше не трогать.
Правильнее было бы, наверное, всегда заканчивать на \, и макросы бы упростились. Но не поломаются ли существующие макросы от появления двойного бэкслэша в середине?
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

непрошенные кавычки

Post by HaRT »

2useven10 wrote: 'C:' в корне диска это правильно
Скорее нет, чем да, ведь “C:” традиционно означает „текущая директория на диске C“, а корень — “C:\”.
Shmuel wrote: Не поломаются ли существующие макросы от появления двойного бэкслэша в середине?
А вот это вопрос. Под никсами слэши, разделяющие компоненты пути, можно дублировать невозбранно, а вот виндовая консоль подобного не понимает. Скорее всего, WinAPI тоже не.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

непрошенные кавычки

Post by Shmuel »

HaRT wrote: Скорее всего, WinAPI тоже не.
Мой (ограниченный) опыт говорит об обратном. Только что проверил удвоение и упятерение бэкслешей на win.GetFileInfo, которая использует FindFirstFileW - работает.
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

непрошенные кавычки

Post by HaRT »

Shmuel wrote: проверил удвоение
О, как интересно-то! Оказывается, консоли небезразлично, который разделитель удвоен. Если удваивать сразу после диска — , а если где-то дальше — .
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

непрошенные кавычки

Post by HaRT »

Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

непрошенные кавычки

Post by Shmuel »

HaRT wrote: Если удваивать сразу после диска — ломается
win.GetFileInfo не ломается.
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

непрошенные кавычки

Post by HaRT »

Shmuel wrote: win.GetFileInfo не ломается
Это хорошо. Тогда я за то, чтобы для корня диска пути возвращались с бэкслэшем. В конце концов, выкинуть их повторы — элементарно.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

непрошенные кавычки

Post by Shmuel »

HaRT wrote: А как лучше подобное провернуть из других областей (редактора/просмотрщика, диалога и т.п.)?
Можно, используя postmacro.lua, но там надо Show(arg1, arg2, .....).
Post Reply

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