Как работает CURRENT_PATH?

Pixilang по русски
Post Reply
User avatar
WanderFrank
Posts: 8
Joined: Tue Nov 10, 2015 4:15 pm

Как работает CURRENT_PATH?

Post by WanderFrank » Tue Nov 10, 2015 4:58 pm

Хотелось бы обратить внимание на странное поведение переменной CURRENT_PATH в Pixilang (на Windows).
При вызове программы из консоли (например pixilang_console.exe file_list.pixi) CURRENT_PATH ничего не содержит.
Однако, если запустить Pixilang без параметров, и запустить программу из диалогового окна, то всё работает нормально.
Это баг, фитча, или я что-то не понимаю?

User avatar
NightRadio
Site Admin
Posts: 3077
Joined: Fri Jan 23, 2004 12:28 am
Location: Ekaterinburg. Russia
Contact:

Re: Как работает CURRENT_PATH?

Post by NightRadio » Thu Nov 12, 2015 7:47 pm

Проверил у себя. Да, так и есть, это не баг. CURRENT_PATH берется из имени запускаемого файла. В случае pixilang_console.exe file_list.pixi имеем только имя файла, а путь пустой - что означает текущую папку, из которой был запущен Pixilang. Это немножко странно, но в целом корректно :)

User avatar
WanderFrank
Posts: 8
Joined: Tue Nov 10, 2015 4:15 pm

Re: Как работает CURRENT_PATH?

Post by WanderFrank » Fri Nov 13, 2015 10:34 am

Проверил запуск с длинным путём к файлу. CURRENT_PATH всё равно пустой.

Code: Select all

pixilang_console.exe d:\1\2\file_list.pixi
Однако, если путь записать с обратными слешами (как в Linux), то работает как надо

Code: Select all

pixilang_console.exe d:/1/2/file_list.pixi

User avatar
NightRadio
Site Admin
Posts: 3077
Joined: Fri Jan 23, 2004 12:28 am
Location: Ekaterinburg. Russia
Contact:

Re: Как работает CURRENT_PATH?

Post by NightRadio » Fri Nov 13, 2015 2:17 pm

А вот это уже надо будет проверить... Похоже на баг

VladTheCat
Posts: 10
Joined: Thu Oct 16, 2014 12:29 am

Re: Как работает CURRENT_PATH?

Post by VladTheCat » Thu Nov 26, 2015 11:12 pm

WanderFrank wrote:Проверил запуск с длинным путём к файлу. CURRENT_PATH всё равно пустой.

Code: Select all

pixilang_console.exe d:\1\2\file_list.pixi
Однако, если путь записать с обратными слешами (как в Linux), то работает как надо

Code: Select all

pixilang_console.exe d:/1/2/file_list.pixi
Возможный вариант - обратные слэши обрабатываются как escape-последовательности или коды символов. Именно по этой причине всегда и везде пути прописываю с прямыми слэшами (как раз "\" - обратный слэш)

Потому не думаю, что это баг. Просто так обрабатывается на уровне движка или ещё что-то.

Post Reply